通常、コンパイラは自動的にプリプロセッサを呼び出すために、 ユーザが意識的に使う必要はありませんが、マクロを作成した 場合などにそれらの展開結果を見たいような場合には、明示的に プリプロセッサを呼び出す事でそれが可能になります。
プリプロセッサのコマンドは通常 cpp です。基本的な使い方 は、
cpp [input file] [output file] |
となります。ここで、input file
は処理したいファイル
で、C のソースコードなどを指定しますが、別に C の完全な
プログラムでなくてもプリプロセッサが解釈出来れば何でも
構いません。output file
は解釈した結果を書き出す
ためのファイルですが、指定しなければ標準出力に出されます。
cpp test.c |
この例は、test.c と test.c の中でインクルードしているファイルを 読み込み、解釈結果を標準出力に出力します。
例えば、マクロの展開を確認したいような時には次のようなファイル を用意し、
/* file: test.c */ #define sq(x) ((x)*(x)) sq(3); |
以下のように実行すれば、sq(3) の展開結果が得られます。
> cpp test.c # 1 "macro.c" (( 3 )*( 3 )) ; |