コマンドラインによる IPO 実行ファイルの作成

IA-32、インテル(R) EM64T、および Itanium(R) アーキテクチャーを対象とするコンパイルで、IPO を有効にするコマンドライン・オプションは同じです。

中間表現 (IR) を含む疑似オブジェクト・ファイルを作成するには、-ipo (Linux*) または /Qipo (Windows*) を使用して次のようにソースファイルをコンパイルします。

プラットフォーム

コマンド例

Linux

icpc -ipo -c a.cpp b.cpp c.cpp

Windows

icl /Qipo /c a.cpp b.cpp c.cpp

上記のコマンド例では、プラットフォームによって出力が異なります。

.o ファイル (Linux) または .obj ファイル (Windows) が生成された後でコンパイルを停止するには、-c (Linux) または /c (Windows) を使用します。これらのファイルには、コンパイルされたソースファイルに対応するインテル(R) コンパイラーの中間表現 (IR) が含まれます。

インテル・コンパイラーまたはインテル・リンカー (xild (Linux)、xilink (Windows)) とリンクすることによって、プロシージャー間の最適化が実行できます。次の例では、実行ファイル app を作成します。

プラットフォーム

コマンド例

Linux

icpc -oapp a.o b.o c.o

Windows

icl /Feapp a.obj b.obj c.obj

このコマンドは、IR を含むオブジェクトに対してコンパイラーを実行して、リンクされるオブジェクトの新しい一覧を生成します。適切なリンカーオプションとともに icpc (Linux)、icl (Windows) の代わりに、xild ツール (Linux) または xilink ツール (Windows) を使用することができます。

次に例を示します。上記の例で使用した複数のコマンドを組み合わせて、1 つのコマンドにすることができます。

プラットフォーム

コマンド例

Linux

icpc -ipo -oapp a.f b.f c.f

Windows

icl /Qipo /Feapp a.cpp b.cpp c.cpp

上記の例のように、icl/icpc コマンドは指定されたオブジェクト・ファイルにリンクする GCC ld (Linux のみ) または Microsoft* link.exe (Windows のみ) を呼び出し、-o オプション (Linux) または /Fe オプション (Windows) で指定された実行ファイルを生成します。マルチファイル IPO は IR を含むソースファイルにだけ適用され、IR を含まないオブジェクト・ファイルはリンク段階に渡されます。