ここでは、「IPO の使用」で指定された方法の代わりに、インテルが提供するリンクツール (xild (Linux* および Mac OS*) または xilink (Windows*)) を使用する方法を説明します。
インテルのリンクツールは、プラットフォームごとに動作が異なります。次のセクションでは、リンク動作の主な違いをまとめています。
リンク動作のまとめ (Linux および Mac OS) |
---|
IR (中間表現) を含むオブジェクトが見つかった場合、コンパイラーを起動して IPO を実行します。(これらは擬似オブジェクトです。) GNU ld を起動してアプリケーションをリンクします。 xild のコマンドラインの構文は、GNU リンカーと同じです。 xild [<options>] <normal command-line> 各アイテムの意味は次のとおりです。
IPO を使用して app を作成する場合、オプション -ofile を次のように使用します。 xild -qipo_fas -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>] <normal command-line> 各アイテムの意味は次のとおりです。
マルチファイル IPO の実行ファイルを ipo_file.exe に格納するには、リンカーオプション /out:file を使用します。次に例を示します。 xilink -qipo_fas /out:ipo_file.exe a.obj b.obj c.obj リンカーは、IR を含むオブジェクトの IPO を実行するためにインテル・コンパイラーを呼び出し、リンクされるオブジェクトの新しい一覧を生成します。リンカーは、Microsoft link.exe を呼び出し、新しいリストで指定されたオブジェクト・ファイルにリンクして、/out:file リンカーオプションで指定されたアプリケーションを生成します。 |
次のような状況の場合、インテルが提供するリンクツールを使用してアプリケーションをリンクする必要があります。
ソースファイルがマルチファイル IPO を有効にしてコンパイルされた場合。マルチファイル IPO が、-ipo コマンドライン・オプション (Linux および Mac OS) または /Qpio コマンドライン・オプション (Windows) を指定して有効にされた場合。
通常、アプリケーションをリンクするのに GNU リンカー (ld) または Microsoft リンカー (link.exe) を起動する場合。
次の表は、インテルのリンクツールでサポートされる利用可能な、大文字・小文字が区別されないオプションと各オプションの動作の簡単な説明をまとめたものです。
リンクツールのオプション |
説明 |
---|---|
-qhelp |
利用可能なリンクツールのオプションをリストします。オプションを渡さない場合と同じです。 |
-qnoipo |
マルチファイル IPO コンパイルを無効にします。 |
-qipo_fa[{file|dir/}] |
マルチファイル IPO コンパイルのアセンブリー・リストを生成します。リストファイルの名前またはファイルを配置するディレクトリー (バックスラッシュ付き) を指定します。 デフォルトのリスト名はプラットフォームに依存します。
インテルのリンクツールの呼び出しがマルチオブジェクトのコンパイルを行う場合、(アプリケーションが大きい、または複数のオブジェクトを明示的に要求した場合)、最初の .s ファイル (Linux および Mac OS) または .asm ファイル (Windows) は、-qipo_fa オプション (Windows) からその名前を指定します。 それ以降の .s ファイル (Linux および Mac OS) または .asm ファイル (Windows) の名前には、取得したファイル名に 1 が足された数字が追加されます。例えば、ipo_fafoo.asm の場合、foo.asm および foo1.asm のようになります。-qipo_fo オプション (下記にリスト) の場合も同様です。 |
-qipo_fo[{file|dir/}] |
マルチファイル IPO コンパイルのオブジェクト・ファイルを生成します。オブジェクト・ファイルの名前またはファイルを配置するディレクトリー (バックスラッシュ付き) を指定します。デフォルトのオブジェクト・ファイル名はプラットフォームに依存します。
|
-qipo_fas |
アセンブリー・リストにソース行を追加します。 |
-qipo_fac |
アセンブリー・リストにコードバイトを追加します。 |
-qipo_facs |
アセンブリー・リストにコードバイトおよびソース行を追加します。 |
-quseenv |
既存の PATH 変数、LIB 変数、INCLUDE 変数の上書きを無効にします。 |
-lib |
リンカーの代わりにライブラリアンを起動します。 |
-libtool |
Mac OS: libtool を起動して、ld の代わりにライブラリーを作成します。 |
-qv |
バージョン情報を表示します。 |