LINUX.ORG.RU

реализация функции printf в glibc


0

1

Подскажите пожалуйста, кто знает где в библиотеке glibc реализована функция printf, именно функция, а не подпрограмма printf. В исходниках подпрограммы printf - glibc-2.17/stdio-common/printf.c реализована функция __printf

/* Write formatted output to stdout from the format string FORMAT.  */
/* VARARGS1 */
int
__printf (const char *format, ...)
{
  va_list arg;
  int done;

  va_start (arg, format);
  done = vfprintf (stdout, format, arg);
  va_end (arg);

  return done;
}

Но это вроде не printf, или я ошибаюсь?? Зачем мне это надо? Просто хочу посмотреть как в библиотеке glibc реализована функция printf.

★★
Ответ на: комментарий от anonymous

http://www.linuxquestions.org/questions/programming-9/why-i-couldn't-find-the...

из этого понял что функция __printf является алиасом функции printf.

Получается что функция printf реализована через функцию va_start, а функция va_start является наверное системным вызовом ядра.....?????

v4567 ★★
() автор топика
Ответ на: комментарий от v4567

Я ошибся, printf реализована через функцию vprintf. Попытаюсь найти теперь реализацию функции vprintf.

v4567 ★★
() автор топика
Ответ на: комментарий от anonymous

нет. va_list - отвечает за переменное число аргументов(эти три точки в функции).

Да я это понял.

Просто хотелось узнать какие вызовы ядра использует функция printf или получается она же vfprintf.

v4567 ★★
() автор топика
Ответ на: комментарий от v4567

Оставайтесь на связи, мы выслали команду.

anonymous
()
Ответ на: комментарий от DeVliegendeHollander

Это они нарочно...

Согласен....

v4567 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.