如何生成预处理后的C代码

4
可能重复:

相关问题:
预处理后的C/C++源代码文件

我想为一个应用程序生成所有预处理后的c代码,比如Apache。我下载了Apache的源代码,并运行了以下命令“gcc -c -save-temps *.c”,还尝试了/.c。在运行这些命令时,我遇到了许多错误,其中一些包括:

server/core.c:17:17: fatal error: apr.h: No such file or directory
compilation terminated.
server/core_filters.c:22:17: fatal error: apr.h: No such file or directory
compilation terminated.
server/eoc_bucket.c:17:19: fatal error: httpd.h: No such file or directory
compilation terminated.

我相当确定程序应该可以正确编译,因为它直接来自 Apache 网站。我需要做什么来生成必要的预处理 C 代码?我应该如何使用 makefile?
我正在尝试分析需要预处理 C 代码的源代码的应用程序,可以在 这里 找到它。
谢谢大家的帮助。

gcc -c 不会生成预处理的源代码,而是会生成目标代码。 - user529758
谢谢。那我应该使用什么命令? - user1928436
6
你要找的是 gcc -E - user529758
@H2CO3:既然那就是全部,你应该把它作为答案。 - Ilmari Karonen
@IlmariKaronen 或许可以,但这并不能解决缺失标题的问题。 - user529758
1个回答

4

为了重复别人,也为了重复我自己...

gcc -c 会生成目标代码。如果你想要调用预处理器,请使用 gcc -E


那似乎可以运行,我肯定会给出功劳。 - user1928436
对于生成的“预处理器文件”,如果我想引用所有子目录中的每个人,我该怎么做?现在,我正在尝试: - user1928436
另外,对于gcc-E选项,我遇到了许多编译问题。我应该通过makefile或其他方式运行这个命令吗? - user1928436

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接