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