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 |