8
摘要:C++预处理器输出包含一些行,表示<built-in>
。我很想知道这些是什么。C++预处理器输出中的<built-in>是什么?
详细:
当我编译在与clang++ -E
名为test.cpp
文件以下代码(从g++
输出类似):
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
输出的前几行如下:
#1“test.cpp”
#1 “TEST.CPP” 1
#1 “<内置>” 1
#1 “<内置>” 3
#156 “<内置>” 3
#1“<命令行>” 1
#1 “<内置>” 2
#1 “TEST.CPP” 2
我的问题是什么做的<built-in>
语句的意思。
它看起来像我还需要-E开关让人类可读的输出,至少在'.cpp'文件。输出的顺序也与应用哪个宏相对应?在包含的测试用例中,我试图弄清楚“#156”“3”在做什么。 –
2013-02-21 23:01:55
该顺序对应于宏的应用顺序。试试'-dN'标志,它应该帮助你跟踪那156。 – perreal 2013-02-22 00:04:41