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