我使用* nix / gcc。我是C的初学者,所以这可能是一个简单的问题。假设我有一个文件main.c,其中包含以下内容:
#include<stdio.h>
int main(int argc, char *argv[])
{
printf("Hello World.\n");
return 0;
}
现在我想要的是一个文件,其中包含预处理后的所有代码和所有库实现代码(用于检查目的)。现在,如果我跑
gcc -E main.c >> full.c
我确实得到了大量代码,但只有数据类型和函数原型。是否有可能以某种方式获得所有函数的实现,以便我可以在一个地方看到整个代码。
感谢。
答案 0 :(得分:3)
C预处理器只进行文本操作。在这种情况下,它将做的是生成一个输出文件,其中包含包含文件stdio.h的内容以及主程序的几行。
它不包含stdio.h函数实现,因为该源是在其他一些文件中没有以gcc的源代码格式提供。
因此,如果您想要实现,您需要找到gcc标准C库源代码,我希望它可以在网络上的某个地方。
但是,如果您想了解标准C库,您应该从标准C库上的Plaughers书籍开始,或类似的东西,提供实现以及注释和注释,了解已完成的工作和原因。