動的ローダーを使用する実行可能ファイルの作成

動的ローダーを使用すると、呼び出し可能な形式のファイルを、実行時に動的にロードすることができます。動的ローダーは、cob にフラグを使用して、次のようなシステムの実行可能プログラムをビルドする場合にも選択されます。

cob に -d symb オプションを指定してビルドしたシステムの実行可能プログラムでは、symb に指定したプログラムが実行時に呼び出された場合に、このプログラムが動的にロードされます。また、このプログラムを静的にリンクするプログラムとして cob に指定すると、cob からエラーが出力されます。

cob に -e"" フラグを指定してビルドしたシステムの実行可能プログラムは、実行時に実行可能ファイルのエントリ ポイントの指定が必要となります。エントリ ポイントは、実行時にコマンド ラインでエントリ ポイント名を入力して指定します。指定されたプログラムの検索には、動的ローダーが使用されます。動的ローダーでは、指定されたプログラムがリンクされているか、またはすでにロード済みであるかが確認され、リンクもロードもされていない場合は、プログラムが動的にロードされます。

CALL data-name 文および ON EXCEPTION 句が含まれる CALL 文では、暗黙的に動的ローダーが使用されます。しかし、たとえば、呼び出されるサブプログラムが C のルーチンである場合など、動的にロードしたくない場合もあります。サブプログラムが動的ローダーを使って呼び出された場合でも、そのサブプログラムがシステムの実行可能ファイルにリンクされていれば、実行時にはリンクされているバージョンが使用され、このサブプログラムは動的にロードされません。

アーカイブ ライブラリにサブプログラムがあり、このサブプログラムを動的にロードしたくない場合は、次のいずれかの方法でプログラムをリンクしてください。

これ以外に、cob に -Z フラグを使用して、アーカイブ ライブラリを共有ライブラリに変える方法もあります。