簡體   English   中英

什么是 <built-in> 在C ++預處理器輸出?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM