プログラムを実行またはデバッグするには、実行可能ファイルにコンパイルする必要があります。本トピックでは、Micro Focus COBOL コンパイラで生成できる各種の実行可能ファイルについて説明します。また、アプリケーションに最も適したファイル形式を選択する上で役立つ推奨事項を示し、ファイルをまとめてパッケージ化するために中間コード ファイルおよび生成コード ファイルを Micro Focus ライブラリ ファイルにバンドルする方法についても説明します。
.NET COBOL、手続き型 COBOL およびネイティブのオブジェクト指向 COBOL コードを .exe にコンパイルできます。
.NET アセンブリに対応する手続き型 COBOL コードの生成がサポートされるほか、COBOL 言語のオブジェクト指向の拡張機能が提供されています。
実行可能コードは、コンパイルおよびリンクを一度に実行して生成できます。
実行可能ファイルには、ファイル名拡張子 .exe がある場合 があります。
この動作は、.int コードおよび .gnt コードと同じですが、リンクされた共有ライブラリや、システムの実行可能ファイルとは異なります。リンクされた共有ライブラリや、システムの実行可能ファイルは、使用されるかどうかにかかわらず、常にプロセスの開始時にロードされます。また、それらのファイルにより使用されているコードおよびメモリは、プロセスの終了時にのみ解放されます。
ダイナミック リンク ライブラリは、複数の COBOL プログラムから構成したり、C や C++ など、他の言語によるプログラムを混在させたりできます。また、ダイナミック リンク ライブラリをサード パーティが提供するオブジェクト ファイルや共有ライブラリにリンクすることもできます。この動作はシステム実行可能ファイルおよび共有ライブラリに似ていますが、.int ファイルおよび .gnt ファイルとは異なります。これらの場合、各ファイルが 1 つの COBOL プログラムと対応します。
ダイナミック リンク ライブラリ には、ファイル名拡張子 .dll が付けられます。
デフォルトでは、オブジェクト コード ファイルには、拡張子 .obj が付けられます。
.exe ファイルまたは .dll ファイル を作成するには、オブジェクト コード ファイルをリンクする必要があります。
.int ファイルは動的にロード可能なファイルであり、システム実行可能ファイルにリンクする必要はありません。これらのファイルを実行可能ファイルとしてユーザーに配布できますが、この用途には .exe ファイルおよび .dll ファイルを使用することをお勧めします。
.gnt ファイルは動的にロード可能なファイルであり、システム実行可能ファイルにリンクする必要はありません。これらのファイルを実行可能ファイルとしてユーザーに配布できますが、この用途には .exe ファイルおよび .dll ファイルを使用することをお勧めします。
本セクションでは、各ファイル形式をどのような状況で使用すべきかに関する一般的なガイダンスおよび推奨事項を示します。
Micro Focus では、標準の形式の実行可能ファイルを使用することをお勧めします。.dll や .exe などの標準の形式の実行可能ファイルもターゲット プラットフォーム用に最適化され、デジタル署名できます。これらの形式では複数のプログラムを含めることもできます。
.int ファイルには、さまざまなハードウェア プラットフォーム間で移植できるという利点があります。ただし、いずれかのターゲット アーキテクチャ用に最適化されるわけではないため、一般に特定のプラットフォーム用に生成されたコードよりも実行速度が遅くなります。
.gnt ファイルは特定のチップセット用に最適化されます。一般に .int コードよりも実行速度は速くなります。Micro Focus では、アプリケーションのパフォーマンスを最大限に高めるために、生成された実行可能ファイルを使用することをお勧めします。
.gnt ファイルは、実行時にオペレーティング システムによってロックされません。そのため新しいファイルをオーバーレイすることが可能ですが、これはお勧めしません。
.int ファイルおよび .gnt ファイルを Micro Focus ライブラリ ファイルにバンドルできます。このバンドルには次の利点があります。
ライブラリ ファイルには、ファイル名拡張子 .lbr が付けられます。
ProgC および ProgD を生成コード ファイルとしてコンパイルし、ライブラリ ファイル mylib.lbr に置くことができます。ProgA が ProgC を呼び出すと mylib.lbr がメモリにロードされ、progc.gnt および progd.gnt もロードされます。proga.gnt、progb.gnt、mylib.lbr のほか、トリガー プログラムも併せて配布する必要があります。
.int ファイルおよび .gnt ファイルを .lbr ファイルにパッケージ化するには、次のプロパティを設定します。
プロジェクトの [Output type] を [INT/GNT] に設定する必要があります。
次回プロジェクトをビルドするとき、プロジェクトは .lbr にコンパイルされます。