【发布时间】:2012-06-22 19:38:49
【问题描述】:
如果我在编译时使用 -E 标志,我会得到预处理输出。
此输出中的某些行是:-
# 4 "../Framework.h" 2
# 1 "../Basic.h" 1
# 1 "/usr/include/c++/4.1.2/queue" 1 3
这是什么意思?您是否可以向我指出更多信息的来源?
【问题讨论】:
标签: c++ include c-preprocessor compiler-flags
如果我在编译时使用 -E 标志,我会得到预处理输出。
此输出中的某些行是:-
# 4 "../Framework.h" 2
# 1 "../Basic.h" 1
# 1 "/usr/include/c++/4.1.2/queue" 1 3
这是什么意思?您是否可以向我指出更多信息的来源?
【问题讨论】:
标签: c++ include c-preprocessor compiler-flags
它们是关于已处理代码的编译器信息(如果编译器生成调试信息,则随后是调试器)。我不知道确切的语法,但它们会告知包含路径、包含文件中“#include”指令的位置以及包含文件中预处理器未删除的下一行的位置。有了这些信息(并计算未注释的行),编译器可以为您提供诊断信息,将您指向正确的行以及它是如何被包含在内的。
【讨论】: