COBOL2002 ユーザーズガイド
スタックコンパイル機能とは,複数個の翻訳単位のソース単位を含む翻訳グループを一つのコンパイル単位としてコンパイルする機能です。この機能には次のような利点があります。
主プログラム指定(-Main,System/-Main,V3)以外のオプションは,すべての翻訳単位のソース単位に対して有効となります。-Main,System,-Main,V3オプションとほかのオプションとの関係については,「35.5.5 最終生成物の種類(プロジェクトの種類)の設定」を参照してください。
主プログラム指定(-Main,System/-Main,V3)を指定した場合は,ソースファイル中の先頭の最外側のプログラムが主プログラムとなります。したがって,制御プログラムからは先頭の最外側のプログラムだけが呼び出せます。2番目以降の最外側のプログラムは,呼び出せません。
クラス定義,インタフェース定義を含むソースファイルを,連続コンパイルできます。ただし,リポジトリ段落に指定された翻訳単位が別のソースファイルで定義されている場合,別のソースファイルを先にコンパイルしておく必要があります。詳細は,「36. 定義別のコンパイル方法とリポジトリファイル」を参照してください。
なお,インタフェース定義は,ほかのソース単位より先に記述されていてもかまいません。
スタックコンパイルを実行したときのコンパイルリストについては,「付録D コンパイルリスト」を参照してください。
一つのコンパイル単位に最外側のプログラムが複数個含まれていても,これらの最外側のプログラムはすべて別のコンパイル単位のCALL文で呼び出せます。
スタックコンパイル時にコンパイラが生成するファイルは,通常のコンパイル時に生成するファイルと同じです。
スタックコンパイル機能を使用した場合,オブジェクトファイルは,ソースファイル単位で作成されます。このため,ソースファイル中の複数のプログラムから,別々の実行可能ファイルを作成することはできません。
複数の最外側のプログラムを含むソースファイルをスタックコンパイルし,生成されたオブジェクトファイルの一部のプログラムだけを利用するような実行可能プログラムは,作成できます。ただし,使用しないプログラムを含んでいるため,必要以上に実行可能ファイルのサイズが大きくなります。
All Rights Reserved. Copyright (C) 2013, 2016, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2002, 2011, Microsoft Corporation.