COBOL2002 使用の手引 手引編

[目次][用語][索引][前へ][次へ]

34.1.2 コンパイルとリンクを別々に実行する方法

COBOLプログラムが複数ある場合,あらかじめccbl2002コマンドでオブジェクトファイルを作成しておき,その後ccbl2002コマンドやccコマンドでオブジェクトファイルをリンクして実行可能ファイルを生成できます。

<この項の構成>
(1) ccbl2002コマンドによるリンク方法
(2) ccコマンドによるリンク方法

(1) ccbl2002コマンドによるリンク方法

ccbl2002コマンドでコンパイルとリンクを別々に実行する方法を,次に示します。

[図データ]

ccbl2002コマンドの指定
まず,COBOLプログラム"test01.cbl"および"test02.cbl"をコンパイルし,オブジェクトファイルを生成します。コンパイルだけを実行し,リンクを実行しない場合は,ccbl2002コマンドに-Compile,NoLinkオプションを指定します。
 
ccbl2002 -Main,System test01.cbl -Compile,NoLink
ccbl2002 test02.cbl -Compile,NoLink
 
次に,生成された"test01.o"および"test02.o"をccbl2002コマンドを使用してリンクします。
 
ccbl2002 test01.o test02.o -OutputFile test03
 
上記のコマンドを実行すると,実行可能ファイル"test03"が生成されます。

(2) ccコマンドによるリンク方法

ccコマンドでコンパイルとリンクを別々に実行する方法を,次に示します。

[図データ]

ccbl2002コマンドの指定
まず,COBOLプログラム"test01.cbl"および"test02.cbl"をコンパイルし,オブジェクトファイルを生成します。コンパイルだけを実行し,リンクを実行しない場合は,ccbl2002コマンドに-Compile,NoLinkオプションを指定します。
 
ccbl2002 -Main,System test01.cbl test02.cbl -Compile,NoLink
 
次に,生成された"test01.o"および"test02.o"をccコマンドを使用してリンクします。
 
cc test01.o test02.o -o test03 -L/opt/HILNGcbl2k/lib -lcbl2k
   -lcbl2kml -lm
 
上記のコマンドを実行すると,実行可能ファイル"test03"が生成されます。
-Lオプションに指定する検索パスや-lオプションに指定するライブラリ名については,「34.1.5 ccコマンドおよびldコマンドの-lオプション」の「(1) COBOL2002実行時ライブラリを使用する場合」を参照してください。

注意事項
  • AIXシステムでは,cc/ldコマンドで特にオプションを指定しない場合,参照関係がないファイルは,リンク対象になりません。参照関係がないファイルをリンク対象とするには,-bgcbypassリンカオプションを指定してください。
    COBOLでは,ほかのCOBOLシステムとの動作互換を高めるため,ccbl2002やccblコマンドで内部的に-bgcbypassリンカオプションを仮定しています。
  • Linux(x86) COBOL2002で生成したオブジェクトを,ccコマンドを使用してリンクする場合,32bitアプリケーションとしてリンクしなければなりません。x64向けLinux環境では,-m32オプションの指定が必要です。なお,ccコマンドのオプションの詳細は,システムのマニュアルを参照してください。