C库源代码

时间:2011-03-06 23:45:00

标签: c

我想找到C库的源代码,以了解更多有关所用函数的信息.GCC是我唯一可以依赖的资源吗?我无法使用GCC库的doxygen html版本来说实话这对我来说似乎很复杂,例如我找不到printf函数的源代码(我是否在错误的位置?)。 提前谢谢。

6 个答案:

答案 0 :(得分:7)

答案 1 :(得分:4)

阅读源代码是一回事。阅读包含源代码的好书完全是另一回事。而且我不确定你能比PJ Plauger的The Standard C Library做得更好。它已经20岁了,但对我而言,它仍然是一个页面翻转者。

伙计,我觉得自己老了。

答案 2 :(得分:3)

GNU版本在这里:

的信息: http://www.gnu.org/software/libc/

下载: http://ftp.gnu.org/gnu/glibc/

答案 3 :(得分:0)

您可能需要稍微缩小一下问题范围。实施方式各不相同并非与实现细节相关的所有内容(可能几乎全部 - 具有更多标准知识的人都可以填写)都是由C / C ++标准规定的。

最后,您可以了解特定图书馆是如何决定这样做的。它仍然是有用的知识,但不是答案。

答案 4 :(得分:0)

<块引用>

我找不到 printf 函数的源代码

这里是这个函数的源码,好像是调用了__vbprintf_internal,找到了glibc/stdio-common/vfprintf-internal.cGlibc源代码也可以在bootlin中找到,我认为它是更具可读性和方便性的代码。

int __printf (const char *format, ...)
{
  va_list arg;
  int done;
  va_start (arg, format);
  done = __vfprintf_internal (stdout, format, arg, 0);
  va_end (arg);
  return done;
}

glibc/stdio-common/printf.c

答案 5 :(得分:0)

我见过的最简单、最干净的标准 C 库是 Minix 的标准库。

我几乎毫不费力地将它移植到了至少 3 个工具链上。

实际上我是在那个图书馆长大的。