ソースファイルをコンパイルせず、前処理のみ行うには、-E オプション、-P オプションまたは -EP オプションを使用します。これらのオプションを使用する場合、コンパイルの前処理フェーズのみが起動されます。
-E オプションを指定すると、プリプロセッサによってソース・モジュールが展開され、その結果を標準出力に出力します。前処理されたソースには#line ディレクティブが含まれます。このディレクティブは、コンパイラがソースファイルと行番号を判断するために使用します。例えば、2つのソースファイルを前処理し、結果を標準出力に出力するには、次のコマンドを使用します。
-P オプションを指定した場合、プリプロセッサはソース・モジュールを展開し、標準出力の代わりに .i ファイルに出力するように指示します。-E オプションとは異なり、-P オプションの出力には #line 番号ディレクティブは含まれません。デフォルトでは、プリプロセッサは、.i 拡張子の付いたソースファイル名のプリフィックスを使用して、出力ファイルの名前を作成します。-ofile オプションを使用してこれを変更できます。例えば、次のコマンドを実行すると、prog1.iとprog2.iという名前の2つのファイルが作成され、これらのファイルを別のコンパイルの入力として使用できます。
注意
-P オプションを指定した場合は、名前も拡張子も同じファイルは上書きされます。
-EP オプションを使用して、出力に #line ディレクティブを書き込まないようにプリプロセッサに指示します。-EP オプションは、-E -P オプションと同じ働きをします。
前処理済みのソース出力の中にコメントを保存するには、-Cオプションを使用します。次の前処理ディレクティブをコメントにしますが、保存されません。