如何在预处理后查看文件的外观?

时间:2011-02-17 20:27:08

标签: c++ debugging c-preprocessor

如何查看预处理的结果?例如,假设我有以下代码:

#define CONCATENATE(X, Y) X ## Y
#define STRING_1 First
#define STRING_2 Second
#define STRING_3 CONCATENATE(STRING_1, STRING_2)

有没有办法确保STRING_3稍后会在程序中扩展到FirstSecond

2 个答案:

答案 0 :(得分:8)

每个编译器都应提供一个开关来保留预处理代码

  • gcc:-E
  • MS Visual Studio:设置中的Keep preprocessed files/P开关

对于其他编译器,我打赌你会在文档中找到合适的开关

答案 1 :(得分:2)

我认为最好的办法是在g++ -E <file> -o <file>.out下运行C ++文件,然后检查结果。

我认为你的意思是在调试中检查它 - 显然你不能在运行时检查它,因为预处理器信息将不存在。