0

我使用 *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

我确实得到了一堆代码,但只有数据类型和函数原型。是否有可能以某种方式实现所有功能,以便我可以在一个地方看到整个代码。

谢谢。

4

1 回答 1

3

C 预处理器只进行文本操作。在这种情况下,它将生成一个输出文件,该文件将包含包含文件 stdio.h 的内容以及主程序的几行。

它不包含 stdio.h 函数实现,因为该源位于其他一些文件中,而这些文件未以 gcc 的源代码格式提供。

因此,如果您想要实现,您需要找到我希望在网络上某个地方的 gcc 标准 C 库源代码。

但是,如果您想了解标准 C 库,您应该从关于标准 C 库的 Plaughers 书籍或类似的书籍开始,这些书籍提供了实现以及关于所做工作和原因的注释和注释。

于 2012-09-24T21:44:15.613 回答