インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

共有ライブラリーの作成

このトピックは、Linux* および macOS* にのみ適用されます。

共有ライブラリーは、ダイナミック・ライブラリーとも呼ばれ、スタティック・ライブラリーとは異なる形でリンクされます。ビルドの際、リンカーは必要なすべてのシンボルを実行ファイルにリンクするか、またはランタイム時に共有ライブラリーからリンクされるようにします。共有ライブラリーからコンパイルされた実行ファイルのサイズは小さくなりますが、実行ファイルが正常に動作するためには共有ライブラリーをインクルードする必要があります。複数のプログラムで同じ共有ライブラリーを使用している場合、ライブラリーの 1 つのコピーをロードするだけでかまいません。

Fortran のソースファイルから共有ライブラリーを作成するには、ifort コマンドを使用してファイルを処理します。

共有ライブラリーの作成

共有ライブラリーを作成する方法は複数あります。

ifort コマンドによる共有ライブラリー・ファイルの作成:

ifort -shared -fpic octagon.f90 (Linux*)
ifort -dynamiclib octagon.f90 (macOS*)

-shared オプションまたは -dynamiclib オプションは共有ライブラリーを作成するのに必要です。octagon.f90 はソースファイルの名前です。複数のソースファイルとオブジェクト・ファイルを指定できます。

-o オプションが省略されているため、共有ライブラリー・ファイルの名前は octagon.so (Linux*) または octagon.dylib (macOS*) になります。

-static-intel オプションを指定すると、リンカーはインテルが提供するライブラリーのスタティック・バージョンを使用します。

ifortld (Linux*) または libtool (macOS*) コマンドの組み合わせによる共有ライブラリー・ファイルの作成:

最初に .o ファイルを作成します。次の例では、octagon.o ファイルを作成します。

ifort -c -fpic octagon.f90

octagon.o ファイルを ld (Linux*) または libtool (macOS*) コマンドの入力として、共有ライブラリーを作成します。 次の例では、Linux* システム上で octagon.so という共有ライブラリーを作成するコマンドを示します。

ld -shared octagon.o \
     -lifport -lifcoremt -limf -lm -lcxa \
     -lpthread -lirc -lunwind -lc -lirc_s

次の点に注意してください。

正しくライブラリーを指定するために、-dryrun コマンドの出力結果から、使用されるすべてのライブラリーを確認することを推奨します。

ifort コマンドを使用してリンクする場合は、-Qoption コマンドを使用してオプションを ld に渡します (ld コマンドラインで -Qoption は使用できません)。

関連するコンパイラー・オプションの詳細は、「コンパイラー・オプションの概要」を参照してください。

ld(1)」リファレンス・ページも参照してください。

共有ライブラリーの制約

ld で共有ライブラリーを作成する場合、次の制約に注意してください。

共有ライブラリーのインストール

共有ライブラリーを作成したら、これを参照するプログラムを実行する前に、プライベートまたはシステム全体で使用するためにインストールする必要があります。