2.1 概要
COBOL2002によるプログラムのコンパイルには,次の四つの方法があります。
-
ビルド
-
クイックビルド
-
リビルド
-
ファイル単位のコンパイル
(1) ビルドとは
ビルドとは,プロジェクトに登録したファイルをすべてコンパイルする方法です。
プロジェクトにファイル定義ファイル,レコード定義ファイル,HTMLファイルなど,ソースファイルや登録集原文を出力するファイルを持つファイルが登録されている場合は,ファイルからソース(登録集原文)が生成されてからコンパイルされます。
最終生成ファイル(実行可能ファイル,DLL,標準ライブラリなど)が未作成の場合は,すべてのプログラムがコンパイル,リンケージされ,最終生成ファイルが作成されます。また,ビルド対象のプロジェクトに子プロジェクトがある場合,必要に応じて子プロジェクトもビルドされます。
最終生成ファイル作成後にソースファイルや依存ファイルなどを追加・変更した場合は,コンパイルが必要なファイルだけを再コンパイルし,オブジェクトファイルを作り直します。このとき,オブジェクト指向機能または利用者定義関数を使用したCOBOLプログラムの場合には,ファイル内容を解析して依存関係を再構築したあと,その依存関係に従ってコンパイルが必要なファイルだけを再コンパイルし,オブジェクトファイルを作り直します。その後,既存のオブジェクトファイルも含めて再リンケージし,最終生成ファイルを更新します。
(2) クイックビルドとは
クイックビルドとは,オブジェクト指向機能または利用者定義関数を使用したプログラムのソースファイルを含むプロジェクトの場合に,ファイルの依存関係情報を再構築しないでビルドすることです。
ビルドに比べて依存関係再構築の時間を短縮できますが,依存関係に変更があった場合に正しくビルドできないことがあります。
(3) リビルドとは
リビルドとは,ビルドと同様にプロジェクトに登録したファイルをすべてコンパイルする方法です。
ビルドと異なり,プログラムやコンパイラオプションなどに変更がなくても,無条件にすべてのファイルをコンパイル,リンケージし,最終生成ファイルを出力します。
(4) ファイル単位のコンパイルとは
ファイル単位のコンパイルとは,ファイル単位にソース生成やコンパイルだけをする方法です。定義ファイルやHTMLファイルなどの出力ファイルが指定されているファイルをコンパイルするとソース(登録集原文)が生成されます。コンパイルするファイルに依存するファイルがあっても,そのファイルはコンパイルやソース生成の対象になりません。
COBOLソースの場合は,ファイル単位のコンパイルによってオブジェクトファイルが作成されますが,リンケージはされません。最終生成ファイルを生成するには,ビルドまたはリビルドを実行する必要があります。
したがって,ファイル単位のコンパイルは,ファイルごとにコンパイルしてコンパイルエラーの有無を確認したり,定義ファイルからソースを生成したりするような場合に使用します。