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>
文の意味何をすべきかです。
私はまた、少なくとも '.cpp'ファイルのために、人間が読める形式の出力を得るために-Eスイッチを必要とするように見えます。また、出力が表示される順序は、どのマクロが適用されるかに対応していますか?私が含むテストケースでは、 '#156" "3"が何をしているのか把握しようとしています。 –
この順序は、マクロが適用される順序に対応します。 '-dN'フラグを試してください。それはそれを追跡するのに役立ちます。 – perreal