動的ロード

プログラムやサブプログラムは動的にロード可能なプログラムとして作成することで、リンクせずに実行することができます。

COBOL システムでは、プログラムの各呼び出しをプログラムに直接リンクするか (リンク時にプログラムが使用可能な場合)、動的ローダーにリンクすることができます。動的ローダーはランタイムで指定のプログラムを検索し、必要に応じてそのプログラムを動的にロードします。

動的にロード可能な実行可能ファイルは呼び出し可能共有オブジェクト、.int ファイル、または .gnt ファイルです。呼び出し可能共有オブジェクトでは、どのタイプのプログラムやサブプログラム (COBOL、C、C++ など) も動的にロードできます。.int ファイル、および .gnt ファイルの場合は、COBOL のプログラム、またはサブプログラムのみを動的にロードできます。

動的にロード可能なファイルではリンクは必要ありませんが、システム実行可能ファイル cobrun (マルチスレッド アプリケーションの場合は cobrun_t) がトリガーとして必要になります。

プログラム名は、リテラルまたはデータ項目の値として動的ローダーに提供できます。動的ローダーは、次の場所で指定のプログラムを検索します。

  1. メモリ内のリンクされるプログラム、サブプログラム、ルーチンのリスト。
  2. プログラムに対して動的にロード可能なファイルのファイル システム。

cob コマンドへのフラグを使用し、リンクして直接参照するプログラムと、動的にロードするプログラムを明示的に指定できます。明示的な指示がない場合、cob は、COBOL ソースでプログラムをどのように呼び出すかに応じてデフォルトのアクションを取得します。