リンクツールとオプション

ここでは、インテルが提供するリンクツール (xild (Linux* および Mac OS* X) または xilink (Windows*)) を使用する方法を説明します。

インテルのリンクツールは、プラットフォームごとに動作が異なります。次のセクションでは、リンク動作の主な違いをまとめています。

リンク動作のまとめ (Linux および Mac OS)

IR (中間表現) を含むオブジェクトが見つかった場合、リンクツールはコンパイラーを起動して IPO を実行します。(これらは擬似オブジェクトです。) GNU ld を起動してアプリケーションをリンクします。

xild のコマンドラインの構文は、GNU リンカーと同じです。

xild [<options>] <normal command-line>

説明:

  • [<options>]: (オプション) xild でのみサポートされる 1 つまたは複数のオプションです。

  • <normal command-line> は、ld の有効な引数のセットを含むリンカー・コマンドラインです。

IPO を使用して app を作成する場合、オプション -ofile を次のように使用します。

xild -qipo_fas -oapp a.o b.o c.o

リンクツールは、IR を含むオブジェクトの IPO を実行するためにインテル® コンパイラーを呼び出し、リンクされるオブジェクトの新しい一覧を生成します。そして、リンカーは ld を呼び出して新しいリストで指定されたオブジェクト・ファイルにリンクし、-o オプションで指定されたアプリケーションを生成します。リンカーは、-ipo-ipoN、および -ipo-separate オプションをサポートします。

リンク動作のまとめ (Windows)

IR (中間表現) を含むオブジェクトが見つかった場合、リンクツールはインテル® コンパイラーを起動して複数ファイル IPO を実行します。これらは擬似オブジェクトです。Microsoft* link.exe を起動し、アプリケーションをリンクします。

インテル・リンカーのコマンドライン構文は、Microsoft リンカーと同じです。

xilink [<options>] <normal command-line>

説明:

  • [<options>]: (オプション) xilink でのみサポートされる 1 つまたは複数のオプションです。

  • <normal command-line> は、Microsoft リンカーの有効な引数のセットを含むリンカー・コマンドラインです。

複数ファイル 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 リンカーオプションで指定されたアプリケーションを生成します。

リンクツールの使用

次のような状況の場合、インテルが提供するリンクツールを使用してアプリケーションをリンクする必要があります。

次の表は、インテルのリンクツールでサポートされる利用可能な、大文字・小文字が区別されないオプションと各オプションの動作の簡単な説明をまとめたものです。

リンクツールのオプション

説明

-qhelp

利用可能なリンクツールのオプションをリストします。オプションを渡さない場合と同じです。

-qnoipo

複数ファイル IPO コンパイルを無効にします。

-qipo_fa[{file|dir/}]

複数ファイル IPO コンパイルのアセンブリー・リストを生成します。リストファイルの名前またはファイルを配置するディレクトリー (バックスラッシュ付き) を指定します。

デフォルトのリスト名はプラットフォームに依存します。

  • Linux および Mac OS X: ipo_out.s

  • Windows: ipo_out.asm

インテルのリンクツールの呼び出しがマルチオブジェクトのコンパイルを行う場合、(アプリケーションが大きい、または複数のオブジェクトを明示的に要求した場合)、最初の .s ファイル (Linux および Mac OS X) または .asm ファイル (Windows) は、-qipo_fa オプション (Windows) からその名前を指定します。

それ以降の .s ファイル (Linux および Mac OS X) または .asm ファイル (Windows) の名前には、取得したファイル名に 1 が足された数字が追加されます。例えば、ipo_fafoo.asm の場合、foo.asm および foo1.asm のようになります。-qipo_fo オプション (下記にリスト) の場合も同様です。

-qipo_fo[{file|dir/}]

複数ファイル IPO コンパイルのオブジェクト・ファイルを生成します。オブジェクト・ファイルの名前またはファイルを配置するディレクトリー (バックスラッシュ付き) を指定します。デフォルトのオブジェクト・ファイル名はプラットフォームに依存します。

  • Linux および Mac OS X: ipo_out.o

  • Windows: ipo_out.obj

-qipo_fas

アセンブリー・リストにソース行を追加します。

-qipo_fac

アセンブリー・リストにコードバイトを追加します。

-qipo_facs

アセンブリー・リストにコードバイトおよびソース行を追加します。

-quseenv

既存の PATH 変数、LIB 変数、INCLUDE 変数の上書きを無効にします。

-lib

リンカーの代わりにライブラリアンを起動します。

-libtool

Mac OS X: libtool を起動して、ld の代わりにライブラリーを作成します。

-qv

バージョン情報を表示します。

関連情報