COBOL ソースコードファイル (.cbl、.CBL、または .cob) を中間コードにコンパイルし、作成された中間コードからオブジェクトコード (.o) ファイルを作成します。更に、このオブジェクトコードをリンクして、動的にロード可能な呼び出し可能な共有オブジェクトを作成します。呼び出し可能な共有オブジェクトファイルの拡張子は .so です。
-g フラグも指定している場合は、作成される呼び出し可能な共有オブジェクトには、デバッグ情報も含まれます。そのため、Animator を使ってこれらをデバッグすることができます。
cob コマンドには、COBOL ソースコードファイルのかわりに中間コードファイルを指定することができます。中間コードを指定すると、中間コードからオブジェクトコードが生成されます。 cob コマンドには、オブジェクトモジュールファイル (.o) を指定することもできます。この場合、オブジェクトモジュールは、システムリンカ (ld) でリンクされ、動的にロード可能な呼び出し可能な共有オブジェクトが作成されます。
U オプションを指定すると、未定義のシンボルが検知された場合にエラーメッセージが発行されます。
-z フラグに CC オプションを指定すると、COBOL オプジェクトと C++ のオプジェクトをリンクさせて、1 つの呼び出し可能な共有オブジェクトにすることができます。 C++ ソースファイル (.C) を指定すると、まず C++ コンパイラが起動され、C++ ソースファイルがオブジェクトコードにコンパイルされます。
たとえば、C++ プログラム、 cprg.C と、COBOL プログラム、 cobprg.cbl をリンクする場合は、コマンドを次のように指定します。
cob -z,CC cobprg.cbl cprg.C
次の例では、-z フラグを使用して実行できるプロセスのタイプを示します。
cob のコマンド行 |
出力ファイル |
---|---|
cob -z tmp/a.cbl |
a.int、a.so |
cob -z b.cbl |
b.int、b.so |
cob -z a.int |
a.so |
cob -z c.o |
c.so |
cob -zg a.cbl |
a.int、a.idy、a.so |