3

我需要跟踪与包含头文件相关的错误,我怀疑一个或多个文件具有不匹配的大括号和/或括号,我认为查看预处理器带来的文件会很有用给编译器;那是完成所有宏替换并且完全粘贴了标题的所有内容的文件。

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

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

我对以下编译器的此选项感兴趣:

  • 海合会
  • msvc
4

1 回答 1

4

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

这将产生包含所有内容的大文件,如果您可以访问自动格式化文件的编辑器(例如M-x indent-region在 Emacs 等中),那么您可以使用它来缩进并查看不匹配的大括号在哪里。

于 2013-04-17T15:12:15.170 回答