Sun Studio 12 Update 1: Fortran ユーザーズガイド

3.4.6 –B{static| dynamic}

動的または静的ライブラリリンクを指定します。

-Bdynamic または static の間に空白文字を入れないでください。-B を省略すると、デフォルトとして -Bdynamic が使用されます。

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

コマンド行で、-Bstatic-Bdynamic を切り替えることができます。次のように、-Bstatic-Bdynamic をコマンド行で切り替えて、何回でもライブラリを静的および動的にリンクすることができます。


f95 prog.f -Bdynamic -lwells -Bstatic -lsurface

これらはローダーおよびリンカーのオプションです。コンパイルコマンドに -Bx オプションを指定してコンパイルとリンクを分けて行う場合は、リンク時にも -Bx オプションを指定する必要があります。

-Bdynamic-dn の両方をコマンド行に指定することはできません。-dn を指定すると動的ライブラリのリンクが行われなくなるためです。

64 ビットの Solaris 環境では、ほとんどのシステムライブラリが共有動的ライブラリとして単独使用できます。これらのシステムライブラリには、libm.so および libc.so があります。libm.alibc.a は提供していません。つまり、64 ビットの Solaris 環境で -Bstatic-dn を指定するとリンクエラーが発生する場合があります。この場合、アプリケーションを動的ライブラリとリンクさせる必要があります。

Fortran 実行時システムの静的ライブラリと動的ライブラリを組み合わせて使用することは推奨しません。リンカーエラーが発生したり、データが警告なしに破壊されたりする可能性があります。必ず、Fortran 実行時システムの最新の共有動的ライブラリとリンクさせてください。

静的ライブラリと動的ライブラリについての詳細は、『Fortran プログラミングガイド』を参照してください。