プログラムをコンパイルするときには、コンパイラーによって、プログラム内のコードに対応するオブジェクト・モジュールが生成されます。 外部オブジェクト・モジュールに含まれる任意のサブプログラム (C では関数、他の言語ではサブルーチン) を使用すると、コンパイラーは外部プログラム参照をプログラムのオブジェクト・モジュールに追加します。
リンカーは、これらの外部参照を解決します。 インポート・ライブラリー内または DLL のモジュール定義ファイル内で外部サブプログラムへの参照が検出された場合、その外部サブプログラムのコードは DLL 内にあります。リンカーは、DLL への外部参照を解決するために、実行可能ファイルのロード時に DLL コードの場所をローダーに通知する情報を実行可能ファイルに追加します。
参照される DLL は、それらを呼び出す実行可能ファイルのロード時にロードされるか (プリロード)、あるいはそれらが最初に参照されるときにロードされる (呼び出し時のロード) ように作成することができます。ただし、COBOL CALL ステートメントによる DLL への参照は、リンカーでは解決されません。DYNAM コンパイラー・オプションが有効な場合は、CALL identifier および CALL literal が実行されるときに、COBOL がこれらの呼び出しを解決します。
関連タスク
DLL の作成