next up previous contents
Next: 4. 課題 25 Up: 25. プリプロセッサ Previous: 2. #if 文

3. プリプロセッサ cpp

通常、コンパイラは自動的にプリプロセッサを呼び出すために、 ユーザが意識的に使う必要はありませんが、マクロを作成した 場合などにそれらの展開結果を見たいような場合には、明示的に プリプロセッサを呼び出す事でそれが可能になります。

プリプロセッサのコマンドは通常 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 )) ;



Noriyo Kanayama