コンパイル方法
前回は複数のOpenCOBOLソースにおけるコンパイル方法について説明しました。OpenCOBOLコンパイラにはC言語との変換機能があり、Cコンパイラと連携機能も備えているので、連携するC言語についてもOpenCOBOLコンパイラでコンパイルすることができます。
直接実行型ファイルを作成するコンパイルコマンド
ソースファイルからオブジェクトファイルを作成せずに、直接実行型ファイルを作成するコンパイルコマンドは、次のとおりです。
cobc -x -o 実行ファイル名 メイン処理プログラムソースファイル名 連携先プログラムソースファイル名
-o
スイッチと実行ファイル名の省略は、前回説明した通りです。また、連携先プログラムが複数ある場合、全ソースファイル名を指定するのも前回と同様です。
指定されたソースファイル名の拡張子が「.c」の場合、C言語ソースとしてコンパイルします。C言語ソースは、メイン処理プログラムと連携先プログラムのいずれにも指定できます。
メイン処理プログラムソースファイル名を「mainprog.c」、連携先プログラムソースファイル名をそれぞれ「subprog1.cob」「subprog2.c」、実行ファイル名を「progexe」とした場合のコンパイルコマンド例は、次のとおりです。
/usr/local/bin/cobc -x -o progexe mainprog.cob subprog1.cob subprog2.c
前回も説明しましたが、各ソースの規模が大きく、多数の連携先プログラムソースがある場合は、次項で説明する分割コンパイルがお勧めです。
分割コンパイルによる実行型ファイルを作成する方法
ソースファイルからオブジェクトファイルを作成し、最後に実行型ファイルを作成するコンパイルコマンドについて説明します。
OpenCOBOLのコンパイル方法
詳細は前回説明したので、省きます。コンパイルコマンドは次のとおりです。
cobc -c -x -o オブジェクトファイル名 メイン処理プログラムソースファイル名
cobc -c -o オブジェクトファイル名 連携先プログラムソースファイル名
Cのコンパイル方法
Cで作成したプログラムもcobc
コマンドでコンパイル可能です。OpenCOBOLで作成したメイン処理プログラムのコンパイルは-x
スイッチを付けますが、C言語で作成したメイン処理プログラムのコンパイルには-x
スイッチを付けません。また、gcc
によるコンパイルも可能です。
cobc -c -o オブジェクトファイル名 ソースファイル名
gcc -c -o オブジェクトファイル名 ソースファイル名
実行型ファイルの作成
メイン処理プログラムと連携先プログラムのコンパイルが終了しており、実行型ファイルを作成するコマンドは次のとおりです。
cobc -x -o 実行型ファイル名 メイン処理プログラムオブジェクトファイル名 その他のオブジェクトファイル名
ソースファイル名で指定するのではなく、オブジェクトファイル名で指定する点を除けば、先に説明した「直接実行型ファイルを作成するコンパイルコマンド」と同じ内容です。その他のオブジェクトファイル名が複数ある場合は、すべてのオブジェクトファイル名を指定します。
メイン処理プログラムオブジェクトファイル名を「mainprog.o」、その他のオブジェクトファイル名を「subprog1.o」「subprog2.o」、実行ファイル名を「progexe」とした場合のコンパイルコマンド例は次のとおりです。
/usr/local/bin/cobc -x -o progexe mainprog.o subprog1.o subprog2.o