COBOL2002 ユーザーズガイド

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

37.1.1 コンパイルとリンクを同時に実行する方法

ccbl2002コマンドを使用すると,COBOLプログラムのコンパイルとリンクを同時に実行して,実行可能ファイルを生成できます。

ccbl2002コマンドの詳細については,「35. COBOLソースの作成とコンパイル」を参照してください。

ccbl2002コマンドを使って実行可能ファイルを生成する例を,次に示します。

<この項の構成>
(1) 一つのCOBOLプログラムから実行可能ファイルを生成する
(2) 複数のCOBOLプログラムから実行可能ファイルを生成する
(3) COBOLプログラムとCプログラムの混在した実行可能ファイルを生成する
(4) COBOLプログラムと標準ライブラリをリンクして実行可能ファイルを生成する

(1) 一つのCOBOLプログラムから実行可能ファイルを生成する

一つのCOBOLプログラムをコンパイル,リンクして実行可能ファイルを生成する例を,次に示します。

ソースファイル名称:test01.cbl
       IDENTIFICATION DIVISION.
       PROGRAM-ID. TEST01.
                :
       PROCEDURE DIVISION.
                :
           STOP RUN.

ccbl2002コマンドの指定
COBOLプログラム"test01.cbl"に-Main,Systemオプションを指定し,実行可能ファイル名称に"test02.exe"を指定します。
 
ccbl2002 -Main,System test01.cbl -OutputFile test02.exe
上記のコマンドを実行すると,実行可能ファイル"test02.exe"が生成されます。

(2) 複数のCOBOLプログラムから実行可能ファイルを生成する

複数のCOBOLプログラムをコンパイル,リンクして実行可能ファイルを生成する例を,次に示します。

[図データ]

ccbl2002コマンドの指定
主プログラムである"test01.cbl"に-Main,Systemオプションを指定し,副プログラムである"test02.cbl"には何も指定しないでccbl2002コマンドを実行します。
 
ccbl2002 -Main,System test01.cbl test02.cbl -OutputFile test03.exe
上記のコマンドを実行すると,実行可能ファイル"test03.exe"が生成されます。

(3) COBOLプログラムとCプログラムの混在した実行可能ファイルを生成する

COBOLプログラムとCプログラムが混在する実行可能ファイルを作成する場合,CプログラムをあらかじめCコンパイラでコンパイルし,オブジェクトファイルを生成しておく必要があります。

[図データ]

ccbl2002コマンドの指定
COBOLプログラム"test01.cbl"と,あらかじめ作成しておいたCプログラムのオブジェクトファイル"test02.obj"を指定します。
 
ccbl2002 -Main,System test01.cbl test02.obj -OutputFile test03.exe

(4) COBOLプログラムと標準ライブラリをリンクして実行可能ファイルを生成する

標準ライブラリとは,オブジェクトファイルから構成され,ライブラリ管理ツールLIBによって作成されたライブラリです。標準ライブラリを使用すると,複数のオブジェクトファイルを一つにまとめて管理できます。

ライブラリ管理ツールLIBについては「40.2 ライブラリ管理ツール」を参照してください。

ccbl2002コマンドを使って,オブジェクトファイルのリンクと同様に標準ライブラリをリンクできます。

標準ライブラリを使用した実行可能プログラムを作成する例を次に示します。

[図データ]

この場合,ccbl2002コマンドで標準ライブラリに取り込みたいCOBOLプログラムのオブジェクトファイル(.obj)を生成しておき,libコマンドで標準ライブラリとしてリンクします。そのあと,ccbl2002コマンドで実行可能ファイル(main1.exe)を生成します。

 
ccbl2002 SAMPLE1.cbl -Compile,NoLink
ccbl2002 SAMPLE2.cbl -Compile,NoLink
ccbl2002 SAMPLE3.cbl -Compile,NoLink
lib SAMPLE1.obj SAMPLE2.obj SAMPLE3.obj /OUT:SAMPLE.lib
ccbl2002 -Main,System MAIN1.cbl SAMPLE.lib -OutputFile main1.exe

なお,開発マネージャを使用して標準ライブラリをリンクすることもできます。この場合は,次の手順で実行可能ファイルを作成してください。

  1. 開発マネージャの標準ライブラリのプロジェクトを作成する。
  2. 1.で作成したプロジェクトをビルドする。
  3. 開発マネージャで実行可能ファイルのプロジェクトを作成する。
  4. 2.で生成された標準ライブラリをオプションの「ライブラリの指定」または「ソースファイルの追加」でプロジェクトに追加する。
  5. 4で作成したプロジェクトをビルドする。
    標準ライブラリをリンクした実行可能ファイルが作成されます。

なお,開発マネージャの操作方法については,マニュアル「COBOL2002 操作ガイド」を参照してください。

使用する機能によって必要となるライブラリ
標準ライブラリを構成するソースが次の機能を使用している場合,標準ライブラリをリンクしている実行可能プログラムのリンク時に,関連するライブラリを指定する必要があります。ただし,開発マネージャで作成した標準ライブラリをリンクする場合は,これらのライブラリを指定する必要はありません。
機能 ライブラリ
OLE2オートメーション機能を使用していて,-TDInfオプションを指定した場合 cbl2kgul.lib
整列併合機能を使用する場合 libmsort.lib(32bit版PC(x86) COBOL2002の場合)
libnsort64.lib(64bit版PC(x64) COBOL2002の場合)
COBOL85 Version 4.0以前の整列併合機能を使っているオブジェクトファイルがある場合 libnsort.lib
通信節での画面データの送受信・帳票データの送信機能を使用する場合(XMAP3) x3mwdr32.lib(32bit版PC(x86) COBOL2002の場合)
x3mwdr64.lib(64bit版PC(x64) COBOL2002の場合)
-XMAP,LinePrint(XMAP3での書式印刷機能)オプションを指定した場合 x3klib32.lib
-CompatiM7(MIOS7 COBOL85互換)オプションを指定した場合 jcm7lib.lib
データコミュニケーション機能を使用していて,-OpenTP1オプションを指定した場合 libmcf.lib
EURを使用した通信節による帳票出力機能を使用する場合(-EUR,FormOutput) cbleurdr.lib

注※
32bit版PC(x86) COBOL2002で有効です。