[英]What is <built-in> in C++ preprocessor output?
简介 :C ++预处理器输出包含一些说明<built-in>
。 我很想知道它们的用途。
细节 :
当我在一个名为test.cpp
的文件中使用clang++ -E
编译以下代码时( 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>
语句是什么意思。
宏扩展为“1”,并且在内置的情况下,宏默认定义,例如__cplusplus
,在命令行的情况下,宏在命令行上定义,即-DMACRO=1
。
您可以看到预定义宏的列表:
cpp -dM foo.h
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.