我想找到C库的源代码,以了解更多有关所用函数的信息.GCC是我唯一可以依赖的资源吗?我无法使用GCC库的doxygen html版本来说实话这对我来说似乎很复杂,例如我找不到printf函数的源代码(我是否在错误的位置?)。 提前谢谢。
答案 0 :(得分:7)
答案 1 :(得分:4)
阅读源代码是一回事。阅读包含源代码的好书完全是另一回事。而且我不确定你能比PJ Plauger的The Standard C Library做得更好。它已经20岁了,但对我而言,它仍然是一个页面翻转者。
伙计,我觉得自己老了。
答案 2 :(得分:3)
答案 3 :(得分:0)
您可能需要稍微缩小一下问题范围。实施方式各不相同并非与实现细节相关的所有内容(可能几乎全部 - 具有更多标准知识的人都可以填写)都是由C / C ++标准规定的。
最后,您可以了解特定图书馆是如何决定这样做的。它仍然是有用的知识,但不是答案。
答案 4 :(得分:0)
我找不到 printf
函数的源代码
这里是这个函数的源码,好像是调用了__vbprintf_internal
,找到了glibc/stdio-common/vfprintf-internal.c
。 Glibc
源代码也可以在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;
}
答案 5 :(得分:0)
我见过的最简单、最干净的标准 C 库是 Minix 的标准库。
我几乎毫不费力地将它移植到了至少 3 个工具链上。
实际上我是在那个图书馆长大的。