ネイティブ COBOL コードとしてビルドされたダイナミック リンク ライブラリのロード

注: 次の説明はネイティブ コードにのみ該当します。

.dll ファイルを使用するには、事前にメモリにロードする必要があります。動的リンクを使用する場合は、各 .dll 内のエントリ ポイントを呼び出す前に、プログラムでその .dll ファイルをロードする必要があります。

ダイナミック リンク ライブラリをロードする必要があるのは、最初の使用時のみです。ただし、いったんロードした .dll ファイルが、メモリからクリアされることもあります。

プログラムのキャンセルおよび .dll のアンロード

.dll ファイルは、その中に含まれる COBOL プログラムがキャンセルされ、.dll ファイル内のすべての COBOL プログラムが呼び出されていない状態か、またはキャンセルされた状態になるとメモリから自動的にクリアされます。

たとえば、3 つの COBOL プログラム (sub.cblsub1.cblsub2.cbl) を含む sub.dll という .dll ファイルについて考えてみましょう。

  1. プログラム sub.cbl がメイン プログラムから呼び出されます。
  2. プログラム sub2.cbl が呼び出されます。
  3. プログラム sub.cbl がキャンセルされます。

    sub2.cbl はまだキャンセルされていないため、.dll ファイルはメモリから削除されません。

  4. プログラム sub2.cbl がキャンセルされます。

    .dll ファイル内の各プログラムがキャンセルされているか (sub.cblsub2.cbl)、呼び出されていないため (sub1.cbl)、.dll ファイルは削除されます。

OO .dll ファイルのロード方法は、その中に含まれるクラスの数 (単独または複数) によって異なります。