コンパイル・ツール
本章では、OFCOBOLのコンパイル・ツールの使用方法について説明します。
1. ofcob
コンパイルを実行します。
-
使用方法
Usage: ofcob <source-file> [options]
-
[options]
OFCOBOLで使用される基本的なコンパイル・オプションは、-hを使用して確認することができます。
項目 説明 -U
出力ファイルを共有オブジェクトとして指定します。(デフォルト)
-o Output-File
出力ファイルの名前を指定します。
-L
リンクするライブラリが存在しているディレクトリを指定します。
-l
リンクするライブラリを指定します。
-g
デバッグ情報を挿入します。ofdebugを使用するためのオプションです。
--version
OFCOBOLの現在のバージョンを示します。
--save-temps
コンパイル中に作成される中間ファイルを保存します。(このオプションを指定しない場合、ファイルは削除されます)
--time-stamp
DISPLAYステートメントを実行時に現在の時間を出力します。
--license
OFCOBOLのライセンス情報を確認します。
--trace
手続き部のREADY/RESET TRACEセグメントを使用できるようにします。
--notrunc
COMP、COMP-4、BINARYタイプを割り当てられたサイズで維持します。
--force-trace
常にTRACEセグメントを使用するようにします。
--enable-debug
実行時にデバッグ・メッセージを強化します。
--enable-ofasm
OFASMと併用可能なようにコンパイルを実行します。
--enable-ofasm-org-size
OFASMと併用可能なようにコンパイルを行い、パラメータの元のサイズも渡します。
--enable-osvs
OS/VS COBOLの文法を含めてコンパイルを実行します。
--enable-apost
表意定数のQUOTE、QUOTESに対して二重引用符の代わりに単一引用符を使用します。
--enable-rw
IBM REPORT WRITER関連文法を含めてコンパイルを実行します。
--enable-cbltdli
cbltdli関数を呼び出せるようにコンパイルを実行します。
--enable-aertdli
aertdli関数を呼び出せるようにコンパイルを実行します。
--enable-aibtdli
aibtdli関数を呼び出せるようにコンパイルを実行します。
--enable-host-num-move
ゾーン10進数の割り当て時にsrcのsign値を維持します。
--enable-dbcs-literal
DBCSにリテラルを使用できるようにします。
--enable-hexa-packed
パック10進数にヘキサ値を使用できるようにします。
--enable-caf <funcname>
プログラムの実行前に指定した関数を呼び出します。
--check-file-id
コンパイル前にファイル名とPRGRAM-IDが同じであるか確認します。
--check-index
プログラムの実行時にインデックス・オーバーフローを確認します。
--init-space
変数の初期値をスペースで埋めます。
--DIR <filename>
指定のファイルからコンパイルで使用するオプションを取得します。
--ptr-redef
POINTER変数をCOMP変数が再定義している場合、COMP変数をCOMP-5変数に置き換えます。
--enable-asa-byte
WRITEステートメントの実行時にAFTER ADVANCING句を指定した場合、指定されたファイルまたはレポート・ファイルのデータセット・レコードの先頭に1バイトのASA制御文字を追加します。
--check-invalid-data
MOVEステートメントの実行時に、COMP-3句で宣言されたソースがパック10進数形式でない場合、異常終了(ABEND)を発生させます。
--cpm-name <filename>
CPM表を参照するファイルを指定します。CPM表を参照して使用する場合、$OPENFRAME_HOME/lib/libtsys.soライブラリを指定する必要があります。
--expanded
拡張COBOLの構文を含めてコンパイルを実行します。
--current-date
OS/VS COBOLでのみ使用できるオプションであり、CURRENT-DATE特殊レジスターの出力形式を変更します。
--enable-vsc2
VS COBOL IIを使用できるようにします。
--enable-sosi
GリテラルからSO/SIバイトを削除します。
--check-perform- overflow
PERFORMステートメントのコールスタックが32を超える場合、エラー・メッセージを出力します。
--perform-stack <Integer>
PERFORMステートメントの呼び出しスタックをデフォルトの32ではなく、指定したサイズ(整数)に変更します。このオプションを指定してスタック・サイズが大きくなるとメモリ使用量も増えるため、パフォーマンスが低下し、機能が停止することがあります。
--file-close-all
COBOLプログラムの終了時にすべてのファイルを自動的に閉じます。
--disable-cpy-limit
COPYステートメントの使用時にターゲット・コピーブック名の文字数制限(8文字)を解除します。
--CURRENCY <Type>
PICTURE記号としてバックスラッシュ(\)を使用して円通貨記号を使用できるようにします。
--compare-zoned-digit
ゾーン10進数の比較時にゾーンビットの4ビットを除いて、ディジットビットの4ビットで値を比較します。
--compare-space-sjis
SJIS環境において、Figurative Constants(定数表現)のSPACEとEQUALを比較する際、2バイトスペース(0x8140)と1バイトスペース(0x20)の両方をSPACEとして扱います。
--Compile Error
コンパイル・エラーの発生時に.cobiファイルが作成され、エラーが発生した箇所を特定できるようにします。
-
例
以下は、test.cobソース・ファイルをコンパイルして共有ライブラリを作成する例です。リンクするライブラリが存在しているディレクトリは、/home/ofcob/libpathと /home/ofcob/libpath/newpathです。コンパイルの後、そのパスにlibTest.soとlibNewTest.soが生成されていることを確認できます。
ofcob test.cob -L/home/ofcob/libpath -lTest -L/home/ofcob/libpath/newpath -lNewTest