呼び出し可能な共有オブジェクトを作成する (-z[,U][,CC])

-z フラグは、cob コマンドに入力されたファイルから呼び出し可能な共有オブジェクト ファイルを作成します。このファイルは COBOL 実行ファイルで呼び出すことができます。

入力ファイルとしては、.gnt ファイル以外のタイプのファイルを指定できます。オブジェクト モジュール ファイル (.o) を使用する場合、これらのファイルはシステム リンカー (ld) を使用してリンクされます。

CC オプションを指定すると、ライブラリ ファイルに C++ オブジェクトもリンクできます。C++ (.C) ソース ファイルを指定するとまず、C++ コンパイラが起動され、C++ ソース ファイルがオブジェクト コードにコンパイルされます。

ソース コード ファイルが中間コードにコンパイルされ、オブジェクト コード (.o) ファイルが生成された後、動的にロード可能で呼び出し可能な共有オブジェクトを作成するためにリンクされます。

デフォルトでは、生成される共有オブジェクト ファイルのベース名にはリンクされた最初のオブジェクトの名前が使用され、ファイル名拡張子 .so が使用されます。ベース名により、メイン エントリ ポイントが形成されますが、-e フラグを使用してこれをオーバーライドすることはできません。

U オプションを指定すると、未定義のシンボルが検知された場合にエラー メッセージが発行されます。

-g フラグも指定している場合は、作成される呼び出し可能な共有オブジェクトには、デバッグ情報も含まれます。そのため、Animator を使ってこれらをデバッグすることができます。

例:

次の例では、-z フラグを使用して実行できるプロセスのタイプを示します。

cob のコマンド行 出力ファイル
cob -z tmp/a.cbl 
a.inta.idya.oa.so
cob -z b.cbl 
b.intb.idyb.ob.so
cob -z a.int 
a.oa.so
cob -z c.o 
c.so
cob -zg a.cbl 
a.inta.idya.oa.so
cob -z,CC cobprg.cbl cprg.C 
cobprg.intcobprg.idycobprg.ocprg.ocobprg.so