gcc包含C程序的所有头文件后如何输出中间文件?

在典型的C程序中,我将其分解为几个组件:

// main.c #include 'part-ah' #include 'part-bh' main () { // ... } // part-ah #include 'part-ch' // ... 

我想将整个项目导出为一个文件,包括递归的每个依赖项(不包括标准库),我怎么能用gcc做到这一点?

gcc -E加上你通常用来编译的所有其他选项,没有-c 。 这将产生预处理器输出。 这是你能得到的最好的,AFAIK没有办法只扩展#include指令。 但是你可以使用一些预处理器库(GCC和Boost有)编写自己的工具。

http://www.boost.org/doc/libs/1_54_0/libs/wave/