cob オプションの処理と検索順序

cob コマンドは、オプションを左から右へと処理します。一般には、1 つのオプションが複数回指定された場合に、cob では、そのオプションを最後に処理した際の設定が使用されます。オプションの中には、コンパイラ指令を指定できる -C、および -N のように、反復して使用できるものがあります。

cob のオプションは、様々な方法で指定することができます。指定方法によって、cob で処理される順番が決まります。cob コマンドの起動時にオプションが検索される場所を、検索される順に次に示します。

  1. $COBDIR/etc/cobopt ファイルに指定されている、システムのデフォルトのオプション。このファイルは、cob コマンドが最初に呼び出された際に読み込まれます。

    ファイル、$COBDIR/etc/cobopt の内容は、同じ $COBDIR を使用するすべてのユーザーの COBOL の操作に影響があるため、ファイルの内容を変更する場合は、その影響を十分に考慮した上で行ってください。

  2. 環境変数 COBOPT に指定されている、ユーザーのデフォルトのオプション
  3. cob のコマンド ラインに指定された、実行時のオプション

$COBDIR/etc/cobopt ファイルに以下の内容が書かれています。

-U -P -C "ans85 noalter warning=1"

cob コマンド ラインでは以下のように指定します。

cob -xU -C alter -C warning=2 prog.cbl

この場合、cob コマンドはコンパイラに対して COBOL ソース ファイル prog.cbl を ANS85 ALTER LIST"prog.lst" WARNING"2" という指令で引き渡します。この結果、実行可能プログラム prog が作成され、すべての未解決シンボルは実行時に動的にロードされて、リンク時に不明なシンボルとしてフラグが立てられます。