コンパイル・ツール

本章では、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