如何在不查看GCC中的预处理代码的情况下知道包含哪些头文件?

时间:2009-06-26 13:39:01

标签: c gcc c-preprocessor compiler-options

我有一些很棒的 C 程序,我想知道我在编译这个程序的时候,实际上包含了哪些头文件......

最简单的解决方案是打印预处理代码并查看,但是您知道是否有编译方法,同时显示包含哪些头文件?

4 个答案:

答案 0 :(得分:14)

使用-M option输出依赖项。使用-MD生成编译。使用-MF重定向到文件。

-MM允许忽略依赖项列表中的系统文件。

gcc ... -M  -MF <output_file>     # generate dependencies
gcc ... -MD -MF <output_file>     # compile and generate dependencies

答案 1 :(得分:5)

您可以使用-MD选项 - 有关详细信息,请参阅man gcc

答案 2 :(得分:0)

增加gcc详细程度,然后通过自己制作的过滤程序运行它?

答案 3 :(得分:0)

使用gcc -M或gcc -MM。如果您愿意,可以使用sed调整输出。如果你使用GNU make(你应该),你可以把它包装成一个整齐的命令。