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