嗨,我试图找到stdio.h头文件中定义的函数的函数定义,我想学习如何实现printf()这样的函数,但是在stdio中找不到任何预处理器指令链接。 h到其他地方的实施文件。当没有对函数定义文件的直接引用时,C编译器如何知道在哪里找到实现? (我了解到.h文件可能附带一个同名的.c实现文件来自一本Objective-c书。)你能帮助我吗?谢谢!我在Mac OS X上使用GCC。
答案 0 :(得分:5)
FreeBSD
的libc在其src存储库中已经很好地布局了。
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/
e.g。 printf(3)
:
http://svnweb.freebsd.org/base/head/lib/libc/stdio/printf.c?view=markup
http://svnweb.freebsd.org/base/head/lib/libc/stdio/vfprintf.c?view=markup
答案 1 :(得分:2)
尝试下载GLIBC库项目的源代码。这就是使用GCC编译器(和派生词)时标准函数的定义。