2013-04-17 37 views
3

我需要跟踪与包含头文件相关的错误,我怀疑一个或多个文件具有无可比拟的大括号和/或括号,我认为这将是有助于查看预处理器带给编译器的文件;即完成所有宏替换并将所有标题内容粘贴在一起的文件。临时文件与所有包含的标头的内容

我知道,有一个编译器选项保存该临时文件到硬盘,但周围的Googling后,我没能发现,使我的信息搜索字符串,所以我寻求帮助:

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

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

  • GCC
  • MSVC
+1

您也许还会看看[this](http://stackoverflow.com/questions/277258/c-c-source-file-after-preprocessing) –

+0

好的@SuvP!谢谢,顺便说一句,我正在阅读关于'-save-temps' for gcc –

+2

用于搜索“C预处理器输出”,“C预处理后”和其他类似的搜索字符串在其第一个结果中有其他类似和回答良好的SO问题。那么你试过什么搜索字符串? –

回答

4

大多数,如果不是所有的编译器(所有我曾经使用)允许您通过使用CC -E myfile.cpp > myfile.i“预处理源文件”,其中CC是您的编译器的名称(例如CL,gcc, g++clangclang++

这将产生的一切大的文件,如果你有机会到编辑器会自动格式的文件(如M-x indent-region在Emacs等),然后你可以使用缩进并查看您的无与伦比的大括号。