「コマンドラインでのマルチファイル IPO の作成」 の手順 2 の代わりに、インテル® リンカ、xild を使用します。リンカ xild は次のように動作します:
IR を含むオブジェクトが見つかった場合、コンパイラを起動して IPO を実行します。
GCC ld を起動して、アプリケーションをリンクします。
xild のコマンドラインの構文は、GCC リンカと同じです。
xild [<options>] <LINK_commandline>
各アイテムの意味は次のとおりです:
[<options>] (オプション) には、あらゆる GCC リンカ・オプション、または xild でのみサポートされるオプションを含めることができます。
<LINK_commandline> は、ld への有効な引数のセットを含むリンカ・コマンドラインです。
IPO を使用して app を作成する場合、オプション -ofilename を次のように使用します:
xild -oapp a.o b.o c.o
xild は、IR を含むオブジェクトの IPO を実行するためにコンパイラを呼び出し、リンクされるオブジェクトの新しい一覧を作成します。そして、xild は ld を呼び出して新しいリストで指定されたオブジェクト・ファイルにリンクし、app を生成します。
注
-ipo オプションを使用した場合、コマンドラインにオブジェクト・ファイルとリンカ引数を複数入力すると、その並び順が変わってしまうことがあります。したがって、コマンドラインに引数を複数入力する場合は、その順番を崩してはならないプログラムに対して -ipo を使用すると、プログラムが誤動作することがあります。
xild コマンドは、3 種類の IPO スイッチを認識します (-ipo、-ipoN、および -ipo_separate)。
次のような場合、インテル・リンカ xild を使用して、アプリケーションをリンクする必要があります:
ソースファイルが IPO を有効にしてコンパイルされた場合。IPO が -ipo コマンドライン・オプションを指定して有効にされた場合。
通常、アプリケーションをリンクするのに GCC リンカ (ld) を使用する場合。
xild がサポートしている追加オプションは、IPO の結果を検証するために使用することができます。次の表で、これらのオプションを説明します。
-qipo_fa[file.s] |
IPO コンパイルのアセンブリ・リストを生成します。リストファイルの名前またはファイルを配置するディレクトリ (バックスラッシュ付き) を指定します。デフォルトのリスト名は、ipo_out.s です。 |
-qipo_fo[file.o] |
IPO コンパイルのオブジェクト・ファイルを生成します。オブジェクト・ファイルの名前またはファイルを配置するディレクトリ (バックスラッシュ付き) を指定します。デフォルトのオブジェクト・ファイル名は、ipo_out.o です。 |
-ipo_fcode-asm |
アセンブリ・リストにコードバイトを追加します。 |
-ipo_fsource-asm |
アセンブリ・リストに高水準言語のソースコードを追加します。 |
-ipo_fverbose-asm, |
バージョンと xild のアセンブリ・リストで使用されるオプションを含むコメントの挿入を有効または無効にします。 |
xild の呼び出しによって IPO マルチオブジェクトのコンパイルが行われた場合 (アプリケーションが大きい、またはユーザによって明示的に複数のオブジェクトを要求されたため)、最初の .s ファイルは -qipo_fa オプションから名前を取得します。 それ以降の .s ファイルの名前には、番号が追加されます (例えば、-qipo_fafoo.s では foo.s と foo1.s)。 -qipo_fo オプションの場合も同様です。