ライブラリーはよく lib などのライブラリー・マネージャーを使用して作成されます。ライブラリー・マネージャーは、オブジェクト・リストを読み取り、そのオブジェクトを、次のリンク段階で使用するライブラリーに挿入します。
例 |
---|
xiar cru user.a a.o b.o |
上記のコマンドは、a.o および b.o を含む user.a ライブラリーを作成します。
-ipo-c を使用してオブジェクトが作成された場合、アーカイブには有効なオブジェクトだけでなく、そのオブジェクト・ファイルの中間表現 (IR) も含まれます。例えば、次の例は、a.o および b.o を生成します。これらのオブジェクト・ファイルは、各ソースファイルに対するオブジェクト・コードと IR が含まれたライブラリーを生成するためにアーカイブされた可能性があります。
例 |
---|
ifort -ipo-c a.f90 b.f90 |
このドライバーは、オブジェクト・ファイルに保存している IR 上にコンパイラーを呼び出し、ライブラリーに挿入できる有効なオブジェクトを生成します。
xiar を使用することは、xild -lib を指定するのと同じです。
xilibtool を使用する場合、スタティック・ライブラリーを生成するには -static、ダイナミック・ライブラリーを生成するには -dynamic を指定します。例えば、次のコマンド例は、a.o、b.o、および c.o オブジェクトを含むスタティック・ライブラリー、mylib.a を作成します。
例 |
---|
|
次のコマンド例は、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 つの擬似オブジェクト・ファイルを作成するとします。
例 |
---|
ifort /c /Qipo a.obj b.obj c.obj |
さらに、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 |