2011-01-02 6 views
2

GCCの前処理ステップの出力が不思議です。より正確には、次の2行の目的が何であるか:GCC前処理のための組み込みコマンドラインとは何ですか?

# 1 "<built-in>" 
# 1 "<command line>" 

私はフォーマットが<line_number> <file name> <flags>であることを知っているが、私はこのセクションに表示される可能性のあるデータの種類を理解していません。その目的は何ですか?

ありがとうございます!

答えて

1

目的は、展開されたコードにつながる元のソース行を追跡することです。これは、例えば、デバッグを使用してコンパイルして、ステッピングしているコード行をデバッガに伝えるときに使用されます。

gccが入力ファイルの処理を開始する前に、特定のケースでは、コンパイルの開始時に行をキャプチャしたように見えます。

+0

ありがとうございますが、正確に使用されているセクションは何ですか?組み込みおよびコマンドラインのセクションには何が表示されますか? –

+0

builtin: '__LINUX__'などのすべての定義済みマクロを設定します。コマンドライン: '-D'コマンドラインオプションで設定されるマクロ –

関連する問題