包含所有包含标头内容的临时文件

时间:2013-04-17 15:06:58

标签: c++ visual-c++ gcc clang compiler-options

我需要跟踪与包含头文件相关的错误,我怀疑一个或多个文件具有无法匹配的花括号和/或括号,我认为查看前面的文件会很有用-processor带给编译器;这是完成所有宏替换的文件,并且标题的所有内容都被粘贴在一起。

我知道有一个编译器选项可以将这些临时文件保存到磁盘,但是在谷歌搜索之后我无法找到带来这些信息的搜索字符串,所以我正在寻求帮助:

什么编译器选项可以将预处理器的输出保存到磁盘中?

我对以下编译器的这个选项很感兴趣:

  • GCC
  • MSVC

1 个答案:

答案 0 :(得分:4)

大多数(如果不是所有编译器)(我曾经使用的所有编译器)允许您使用CC -E myfile.cpp > myfile.i“预处理源文件”,其中CC是编译器的名称(例如{{ 1}},CLgccg++clang等。

这将生成包含所有内容的大文件,如果您可以访问将自动格式化文件的编辑器(如Emacs中的clang++等),则可以使用它来缩进并查看位置你无与伦比的大括号。