【发布时间】:2010-11-06 03:47:52
【问题描述】:
我有一些大的 C 程序,我想知道当我编译这个程序时,实际上包含了哪些头文件...
最简单的解决方案是打印预处理代码并查看,但您知道是否有一种方法可以编译并同时显示包含哪些头文件?
【问题讨论】:
标签: c gcc c-preprocessor compiler-options
我有一些大的 C 程序,我想知道当我编译这个程序时,实际上包含了哪些头文件...
最简单的解决方案是打印预处理代码并查看,但您知道是否有一种方法可以编译并同时显示包含哪些头文件?
【问题讨论】:
标签: c gcc c-preprocessor compiler-options
增加 gcc 的详细程度,然后通过自己制作的过滤程序运行它?
【讨论】:
您可以使用-MD 选项 - 有关详细信息,请参阅man gcc。
【讨论】:
使用 gcc -M 或 gcc -MM。如果您愿意,可以使用 sed 调整输出。如果你使用 GNU make(你应该),你可以把它包装成一个整洁的命令。
【讨论】:
【讨论】:
-H。这会在层次结构中显示头文件,因此您可以看到哪个头包含哪些其他头,到任意深度。这有时可以提供信息——特别是如果您的项目直接在#include 行中或通过命令行上的-I 选项使用../somedir/someheader.h 符号。同一个文件可以包含在多个不同的路径中。