打印全部包含在使用GDB进行编译时

时间:2015-05-10 05:40:59

标签: c++ gcc compiler-options

我使用gcc(4.6.3)编译我的C ++代码,并希望编译器打印它使用的所有包含。 在MS VS中,只需添加/ showIncludes标志即可完成,输出如下所示:

1> File.cpp
1> including file : A.h
1> including file :  B.h
1> including file :   C.h
1> including file :  B2.h

gcc中有这样的选项吗?

感谢!!!

1 个答案:

答案 0 :(得分:2)

gcc有一个-v标志。这将准确显示它包含的文件,以及搜索包含的位置。

如果需要完整的依赖关系树,请使用-M标志。这不仅用于列出gcc直接包含的文件,还列出了这些文件所包含的文件。使用普通" gcc -M"将列出所有内容,包括标准库的整个树包括。如果您只是在分析自己的代码库,请尝试" gcc -MM"限制系统文件的包含。

您想要的搜索词是"依赖",因为大多数这些选项通常在gcc世界中用于构建机器可读文件(通常具有* .d扩展名)以供Make实用程序使用。如果您需要深入了解这一系列选项的详细信息,请尝试使用Google搜索。