コンパイルにより生成されるファイル・タイプ

プログラムを実行またはデバッグするには、実行可能な形式にする必要があります。コンパイルは、次のタイプのファイルを生成できます。

実行可能コード
実行可能コードは、コンパイルとリンクを一度に実行して生成します。

実行可能ファイルには、ファイル名拡張子 .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) を作成するには、オブジェクト・コード・ファイルをリンクする必要があります。

Java バイトコード
Java バイトコードは、Java 仮想マシン (JVM) 上で実行可能です。

IDE では、COBOL プロジェクトを作成する場合と同様の手順で COBOL JVM プロジェクトを作成でき、構成オプションの多くは両者に共通しています。[File > New > COBOL JVM Project] を選択します。

Java バイトコード・ファイルのファイル名には、拡張子 .class が付けられます。

中間コード
制限事項:JVM プロジェクトを .int ファイルとしてビルドすることはできません。
中間コード・ファイルは、通常、テストおよびデバッグ目的に使用します。コンパイラは、プログラム構文をチェックするとき、その最初の段階で中間コード・ファイルを作成します。コンパイラは、デバッガが使用するディクショナリ・ファイルも作成します。中間コード・ファイルのコンパイルは高速です。

中間コード・ファイルのファイル名には、拡張子 .int が付けられます。

.int ファイルは動的にロード可能なファイルであり、システム実行可能ファイルにリンクする必要はありません。これらのファイルを実行可能ファイルとしてユーザにシッピングできますが、この用途には .exe ファイルおよび .dll ファイルを使用することをお奨めします。

中間コード・ファイルをコンパイルするには、次のプロパティを設定します。
  1. [Project > Properties > Micro Focus > Build Configuration] をクリックし、[All Int/Gnt Files] の [Target types] オプションを選択して、構成を作成または編集します。
  2. [Project > Properties > Micro Focus > Project Settings > COBOL] をクリックし、[Compile to .gnt] が選択されていないことを確認します。
ヒント:任意のビルド構成のプロパティで [Override Project Settings] を選択することで、一連の .int ファイルまたは .gnt ファイルを異なるビルドに対して出力できます。また、個別のファイルを右クリックして [Override Project Settings] を選択することで、.int ファイルおよび .gnt ファイルを混ぜ合わせて 1 つのビルドから出力できます。次に [Compile to .gnt] を選択するかまたはクリアできます。これを選択しない場合、ファイルは .int にコンパイルされます。
生成されたコード
制限事項:JVM プロジェクトを .gnt ファイルとしてビルドすることはできません。
要求に応じて、コンパイラは第 2 段階で生成されたコードを作成します。生成されたコードのコンパイルは中間コードよりも低速ですが、作成されるコードはより高速に実行します。

生成されたコード・ファイルをテストおよびデバッグに使用します。生成されたコードは中間コードより高速に実行するので、大きなプログラムのデバッグやブレーク・ポイントの間隔が広いプログラムのデバッグなどに便利です。

生成されたコード・ファイルのファイル名には、拡張子 .gnt が付けられます。

.gnt ファイルは動的にロード可能なファイルであり、システム実行可能ファイルにリンクする必要はありません。これらのファイルを実行可能ファイルとしてユーザにシッピングできますが、この用途には .exe ファイルおよび .dll ファイルを使用することをお奨めします。

生成されたコード・ファイルをコンパイルするには、次のプロパティを設定します。
  1. [Project > Properties > Micro Focus > Build Configuration] をクリックし、[All Int/Gnt Files] の [Target types] オプションを選択して、構成を作成または編集します。
  2. [Project > Properties > Micro Focus > Project Settings > COBOL] をクリックし、[Compile to .gnt] を選択します。
ダイナミック・リンク・ライブラリ (Windows) または呼び出し可能共有オブジェクト (UNIX)
ダイナミック・リンク・ライブラリ (Windows) または呼び出し可能共有オブジェクト (UNIX) は、必要なとき、つまり、メインのエントリ・ポイントとして (例えば、run (Windows) または cobrun (UNIX) によって) 参照されるとき、または COBOL CALL 構文によって参照されるとき、実行時に動的にロードされます。ダイナミック・リンク・ライブラリ (Windows) または呼び出し可能共有オブジェクト (UNIX) のすべてのエントリ・ポイントがキャンセルされると、ファイルはアンロードされすべての使用メモリが解放されます。

この動作は .int および .gnt コードと似ていますが、リンクされた共有ライブラリおよびシステム実行可能ファイルとは異なります。これらのファイルはプロセスの起動時に、使用されるかどうかに関係なく、常にロードされます。また、それらのファイルにより使用されているコードとメモリは、プロセスの終了時にのみ解放されます。

ダイナミック・リンク・ライブラリ (Windows) または呼び出し可能共有オブジェクト (UNIX) は、複数の COBOL プログラムから構成したり、C や C++ など、他の言語によるプログラムを混在させたりすることができます。ダイナミック・リンク・ライブラリ (Windows) または呼び出し可能共有オブジェクト (UNIX) は、サードパーティのオブジェクト・ファイルまたは共有ライブラリにもリンクできます。この動作はシステム実行可能ファイルおよび共有ライブラリに似ていますが、.int ファイルおよび .gnt ファイルとは異なります。これらの場合、各ファイルが 1 つの COBOL プログラムと対応します

ダイナミック・リンク・ライブラリ (Windows) には、ファイル名拡張子 .dll が付けられます。

呼び出し可能共有オブジェクト・ファイル (UNIX) には、ファイル名拡張子 .so が付けられます。

ダイナミック・リンク・ライブラリ (Windows) または呼び出し可能共有オブジェクト (UNIX) を作成するには、COBOL プロジェクトまたは COBOL リモート・プロジェクトのいずれかが必要です。[Project > Properties > Micro Focus > Build Configuration] を選択し、[All Native Library Files] または [Single Native Library File] の [Target types] オプションを選択して、構成を作成または編集します。

中間コード・ファイルまたは生成されたコード・ファイルのバンドル

.int ファイルおよび.gnt ファイルを Micro Focus ライブラリ・ファイルにバンドルできます。このバンドルには次の利点があります。

  • シッピングするファイル数が減るので、ユーザがより容易にファイルをパッケージ化できます。
  • プログラムでライブラリ・ファイルに保存されているサブプログラムを呼び出すとき、ライブラリ・ファイルとその中にロードされたすべてのプログラムがメモリにロードされます。これによりプログラムの実行を高速化できます。

ライブラリ・ファイルには、ファイル名拡張子 .lbr が付けられます。

例えば、アプリケーションに次のようなプログラムがある場合、
図 1. アプリケーションのプログラム
アプリケーションのプログラム

ProgC および ProgD を生成されたコード・ファイルとしてコンパイルし、ライブラリ・ファイル mylib.lbr に置くことができます。ProgA が ProgC を呼び出すと、mylib.lbr がメモリにロードされ、progc.gnt および progd.gnt もロードされます。proga.gntprogb.gnt、および mylib.lbr をトリガ・プログラムとともにシッピングする必要があります。

.int ファイルおよび .gnt ファイルを .lbr ファイルにパッケージ化するには、次のプロパティを設定します。

  1. [Project > Properties > Micro Focus > Build Configuration] をクリックし、[All Int/Gnt Files] の [Target types] オプションを選択して、構成を作成または編集します。
  2. [Package as .lbr] を選択します。
次回プロジェクトをビルドするとき、プロジェクトは .int または .gnt ファイルを通常どおりビルドし、それらをすべてを .lbr ファイルにコンパイルします。
制限事項:.lbr ファイルは JVM またはメインフレーム・プロジェクトにコンパイルできません。