インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
ライブラリーはよく xiar (Linux* および macOS*) や xilib (Windows*) などのライブラリー・マネージャーを使用して作成されます。ライブラリー・マネージャーは、オブジェクト・リストを読み取り、そのオブジェクトを、次のリンク段階で使用するライブラリーに挿入します。
例 |
---|
xiar cru user.a a.o b.o |
上記のコマンドは、a.o および b.o を含む user.a ライブラリーを作成します。
[Q]ipo -c を使用してオブジェクトが作成された場合、アーカイブには有効なオブジェクトだけでなく、そのオブジェクト・ファイルの中間表現 (IR) も含まれます。例えば、次の例は、a.o および b.o を生成します。これらのオブジェクト・ファイルは、各ソースファイルに対するオブジェクト・コードと IR が含まれたライブラリーを生成するためにアーカイブされる可能性があります。
例 |
---|
icc -ipo -c a.cpp b.cpp |
上記のコマンドは、擬似オブジェクト・ファイルを生成します。擬似オブジェクト・ファイルは、実際のオブジェクト・ファイルと一緒にアーカイブに配置されます。
xiar を使用することは、xild -lib を指定するのと同じです。
xilibtool を使用する場合、スタティック・ライブラリーを生成するには -static を、ダイナミック・ライブラリーを生成するには dynamic を指定します。例えば、次のコマンドは、a.o、b.o、および c.o オブジェクトを含むスタティック・ライブラリー、mylib.a を作成します。
例 |
---|
xilibtool -static -o mylib.a a.o b.o c.o |
次のコマンド例は、a.o、b.o、および c.o オブジェクトを含むダイナミック・ライブラリー、mylib.dylib を作成します。
例 |
---|
xilibtool -dynamic -o mylib.dylib a.o b.o c.o |
xilibtool を指定することは、xild -libtool を指定するのと同じです。
xilib または xilink -lib を使用してライブラリーを作成し、IPO 擬似オブジェクト・ファイルのライブラリーを作成して、コマンドラインでそれらをリンクします。
例えば、次のようなコマンドを使用して 3 つの擬似オブジェクト・ファイルを作成するとします。
例 |
---|
icl /c /Qipo a.cpp b.cpp c.cpp |
さらに、a.obj にはメインのサブプログラムが含まれているとします。次のようなコマンドを入力して、ライブラリーを作成します。
例 |
---|
xilib -out:main.lib b.obj c.obj または xilink -lib -out:main.lib b.obj c.obj |
ライブラリーとメインプログラムのオブジェクト・ファイルを次のようなコマンドを入力してリンクします。
例 |
---|
xilink -out:result.exe a.obj main.lib |