ここでは、「コマンドラインによる IPO 実行ファイルの作成」で指定された方法の代わりに、インテル(R) リンカー (xild (Linux*) または xilink (Windows*)) を使用する方法を説明します。
インテル・リンカーの動作は、プラットフォームにより異なります。次の表に、主な相違点を示します。
Linux の動作のまとめ |
---|
IR を含むオブジェクトが見つかった場合、コンパイラーを起動して IPO を実行します。GCC ld を起動して、アプリケーションをリンクします。 xild のコマンドラインの構文は、GCC リンカーと同じです。 xild [<options>] <LINK_commandline> 各アイテムの意味は次のとおりです。
IPO を使用して app を作成する場合、オプション -ofile を次のように使用します。 xild -oapp a.o b.o c.o リンカーは、IR を含むオブジェクトの IPO を実行するためにインテル・コンパイラーを呼び出し、リンクされるオブジェクトの新しい一覧を生成します。そして、リンカーは ld を呼び出して新しいリストで指定されたオブジェクト・ファイルにリンクし、-o オプションで指定されたアプリケーションを生成します。リンカーは、-ipo、-ipoN、および -ipo-separate オプションをサポートします。 |
Windows の動作のまとめ |
IR を含むオブジェクトが見つかった場合、インテル(R) コンパイラーを起動してマルチファイル IPO を実行します。Microsoft* link.exe を起動し、アプリケーションをリンクします。 インテル・リンカーのコマンドライン構文は、Microsoft リンカーと同じです。 xilink [<options>] <LINK_commandline>
各アイテムの意味は次のとおりです。 マルチファイル IPO の実行ファイルを ipo_file.exe に格納するには、リンカーオプション /out:file を使用します。次に例を示します。 xilink /out:ipo_file.exe a.obj b.obj c.obj リンカーは、IR を含むオブジェクトの IPO を実行するためにインテル・コンパイラーを呼び出し、リンクされるオブジェクトの新しい一覧を生成します。リンカーは、Microsoft link.exe を呼び出し、新しいリストで指定されたオブジェクト・ファイルにリンクして、/out:file オプションで指定されたアプリケーションを生成します。 |
次のような場合、インテル・リンカーを使用して、アプリケーションをリンクする必要があります。
ソースファイルがマルチファイル IPO を有効にしてコンパイルされた場合。マルチファイル IPO が、-ipo コマンドライン・オプション (Linux) または /Qpio コマンドライン・オプション (Windows) を指定して有効にされた場合。
通常、アプリケーションをリンクするのに GCC リンカー (ld) または Microsoft リンカー (link.exe) を起動する場合。
インテル・リンカーがサポートしている追加オプションは、マルチファイル IPO の結果を検証するために使用することができます。
Windows |
Linux |
オプションの説明 |
---|---|---|
/qipo_fa[{file|dir/}] |
-qipo_fa[file.s] |
マルチファイル IPO コンパイルのアセンブリー・リストを生成します。リストファイルの名前またはファイルを配置するディレクトリー (バックスラッシュ付き) を指定します。 デフォルトのリスト名はプラットフォームに依存します。
|
/qipo_fo[{file|dir/}] |
-qipo_fo[file.o] |
マルチファイル IPO コンパイルのオブジェクト・ファイルを生成します。オブジェクト・ファイルの名前またはファイルを配置するディレクトリー (バックスラッシュ付き) を指定します。 デフォルトのオブジェクト・ファイル名はプラットフォームに依存します。
|
/qipo_fas |
対応するオプションはありません |
アセンブリー・リストにソース行を追加します。 |
/qipo_fac |
-ipo-fcode-asm |
アセンブリー・リストにコードバイトを追加します。 |
/qipo_facs |
対応するオプションはありません |
アセンブリー・リストにコードバイトおよびソース行を追加します。 |
対応するオプションはありません |
-ipo-fsource-asm |
アセンブリー・リストに高水準言語のソースコードを追加します。 |
/qv |
対応するオプションはありません |
バージョン情報を表示します。 |
対応するオプションはありません |
-ipo-fverbose-asm, |
バージョンとアセンブリー・リストで使用されるオプションを含むコメントの挿入を有効または無効にします。 |
インテル・リンカーの呼び出しが IPO マルチオブジェクトのコンパイルを行う場合、(アプリケーションが大きい、または複数のオブジェクトを明示的に要求した場合)、最初の .s ファイル (Linux) または .asm ファイル (Windows) は、-qipo_fa オプション (Linux) または /qipo_fa オプション (Windows) からその名前を指定します。
それ以降の .s ファイル (Linux) または .asm ファイル (Windows) の名前には、取得したファイル名に番号が追加されます。例えば、/qipo_fafoo.asm の場合、foo.asm および foo1.asm のようになります。-qipo_fo オプション (Linux) または /qipo_fo オプション (Windows) の場合も同様です。