0

如果我在编译时使用 -E 标志,我会得到预处理的输出。

此输出中的某些行是:-

# 4 "../Framework.h" 2
# 1 "../Basic.h" 1
# 1 "/usr/include/c++/4.1.2/queue" 1 3

这是什么意思?您是否可以向我指出更多信息的来源?

4

1 回答 1

0

它们是有关已处理代码的编译器(如果编译器生成调试信息,则为调试器)的信息。我不知道确切的语法,但它们会告知包含路径、包含文件中“#include”指令的位置以及包含文件中预处理器未删除的下一行的位置。使用该信息(并计算未注释的行),编译器可以为您提供诊断,将您指向正确的行以及它是如何包含在内的。

于 2012-06-22T19:53:32.117 回答