COBOL2002 ユーザーズガイド


38.4.2 モジュール定義文

記述できるモジュール定義文を次に示します。

NAME文:実行可能ファイル名の定義

LIBRARY文:DLLファイル名の定義

STACKSIZE文:実行時に使用するスタックサイズの上限の定義

HEAPSIZE文:実行時に使用するヒープサイズの上限の定義

EXPORTS文:外部定義名のエクスポート宣言

VERSION文:実行可能モジュールのバージョンの定義

〈この項の構成〉

(1) NAME文

NAME 〔実行可能ファイル名〕

NAME文は,実行可能ファイルを作成することを指示する文であり,同時に実行可能ファイルの名称を定義します。

実行可能ファイル名を省略した場合は,出力ファイル名はリンカ(LINKコマンド)の-OUTオプションの指定に従います。拡張子を省略した場合は.exeが仮定されます。

(例)実行可能ファイルTEST.exeを作成します。
NAME TEST

このNAME文は,ほかのどの文よりも前に記述しなければなりません。また,LIBRARY文と同時には指定できません。

NAME文は,-DLLオプションを同時に指定しないときのリンカ(LINKコマンド)の-OUTオプションと等価です。

(2) LIBRARY文

LIBRARY 〔DLLファイル名〕

LIBRARY文は,DLLファイルの名称を定義します。

DLLファイル名を省略した場合は,出力ファイル名はリンカ(LINKコマンド)の-OUTオプションの指定に従います。拡張子を省略した場合は.dllが仮定されます。

(例)DLLファイルTEST.dllを作成します。
LIBRARY TEST

このLIBRARY文は,ほかのどの文よりも前に記述しなければなりません。また,NAME文と同時には指定できません。

LIBRARY文は,リンカ(LINKコマンド)の-OUTオプションと等価です。

DLLファイル名を作成するときは,リンカ(LINKコマンド)の-DLLオプションの設定が必要です。

(3) STACKSIZE文

STACKSIZE 仮想メモリサイズ〔,実メモリサイズ〕

STACKSIZE文は,プログラムの実行時に使用できるスタックサイズの上限を定義するための文です。この文で,仮想メモリサイズの上限と,1回で割り当てられる実メモリサイズの上限を定義します。

(例)スタックサイズの上限を160,000バイトにします。
STACKSIZE 160000

STACKSIZE文は,リンカ(LINKコマンド)の-STACKオプションと等価です。

(4) HEAPSIZE文

HEAPSIZE 仮想メモリサイズ〔,実メモリサイズ〕

HEAPSIZE文は,プログラムの実行時に使用できるヒープサイズの上限を定義するための文です。この文で,仮想メモリサイズの上限と,1回で割り当てられる実メモリサイズの上限を定義します。

(例)ヒープサイズの上限を80,000バイトにします。
HEAPSIZE 80000

HEAPSIZE文は,リンカ(LINKコマンド)の-HEAPオプションと等価です。

(5) EXPORTS文

EXPORTS エクスポート名〔=実外部名〕〔@順序番号〔NONAME〕〕
      〔エクスポート名〔=実外部名〕〔@順序番号〔NONAME〕〕〕
      〔…〕

EXPORTS文は,プログラム中の外部名をエクスポートするための文です。

実外部名を省略した場合,エクスポート名と実外部名は同じとみなされます。

@順序番号(1〜65,535)を指定すると,名前ではなく番号で関数を呼び出せます。順序番号のあとにNONAMEを付けると,名称はエクスポートされないため,順序番号による呼び出しだけができるようになります。

(例)外部名_COMSUB1をCBLSUB1としてエクスポートします。
EXPORTS CBLSUB1=_COMSUB1

EXPORTS文はリンカ(LINKコマンド)の-EXPORTオプションと等価です。

(6) VERSION文

VERSION バージョン番号〔.リビジョン番号〕

VERSION文は,実行可能ファイル,DLLのヘッダにバージョン番号を設定するための文です。

VERSION文はリンカ(LINKコマンド)の-VERSIONオプションと等価です。