Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一些大的C程序,我想知道当我编译这个程序时,实际上包含了哪些头文件......
最简单的解决方案是打印预处理代码并查看,但您知道是否有一种方法可以编译并同时显示包含哪些头文件?
使用-M 选项输出依赖关系。使用-MD生成和编译。使用 -MF 重定向到文件。
此外 -MM 允许忽略依赖项列表中的系统文件。
gcc ... -M -MF <output_file> # generate dependencies gcc ... -MD -MF <output_file> # compile and generate dependencies
您可以使用-MD选项 - 有关详细信息,请参阅man gcc。
-MD
man gcc
增加 gcc 的详细程度,然后通过自己制作的过滤器程序运行它?
使用 gcc -M 或 gcc -MM。如果您愿意,可以使用 sed 调整输出。如果你使用 GNU make(你应该),你可以把它包装成一个 tidy 命令。