SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

COBOLプログラミング

COBOL言語をLinux環境で動かす その2

OpenCOBOLを他のプログラムと連携させる方法

ダウンロード samplesource.zip (760.0 B)

コンパイル方法

 前回まではメイン処理プログラムのみだったので、コンパイルはコマンドで直接実行型ファイルを作成する方法にとどめていました。今回は、複数のプログラムをコンパイルするので、手順が若干異なります。

直接実行型ファイルを作成するコンパイルコマンド

 ソースファイルからオブジェクトファイルを作成せずに、直接実行型ファイルを作成するコンパイルコマンドは次のとおりです。

cobc -x -o 実行ファイル名 メイン処理プログラムソースファイル名 連携先プログラムソースファイル名

 -oスイッチと実行ファイル名は省略することが出来ます。その場合は、メイン処理プログラムソースファイル名からOpenCOBOLソースファイルの拡張子である「.cob」が除かれたファイル名で、実行ファイルが作成されます。また、連携先プログラムが複数ある場合は、対象の連携先プログラム全てのソースファイル名を指定します。

 メイン処理プログラムソースファイル名を「mainprog.cob」、連携先プログラムソースファイル名をそれぞれ「subprog1.cob」「subprog2.cob」、実行ファイル名を「progexe」とした場合のコンパイルコマンド例は次のとおりです。

コンパイルコマンド実行例
/usr/local/bin/cobc -x -o progexe mainprog.cob subprog1.cob subprog2.cob

 ソースファイルの規模が小さく、ソース数が少ない場合は、直接実行型のコンパイルで十分に対処できます。しかし、各ソースの規模が大きく、多数の連携先プログラムソースがある場合、1つのソース変更だけでも、全てのソースを取り込んでコンパイルするなど、マシンパワーを著しく消費します。

 それゆえ、次項で説明する分割コンパイルがお勧めです。

分割コンパイルによる実行型ファイルの作成方法

 ソースファイルからオブジェクトファイルを作成し、最後に実行型ファイルを作成するコンパイルコマンドについて説明します。

メイン処理プログラムのコンパイル方法

 メイン処理プログラムのコンパイルコマンドは次のとおりです。

cobc -c -x -o オブジェクトファイル名 メイン処理プログラムソースファイル名

 前項のコンパイルコマンドと相違しているのは、-cスイッチが付いていることです。-cはソースファイルをコンパイルしてオブジェクトを生成するスイッチです。

 前項と同様、-oスイッチは省略することができます。その場合、メイン処理プログラムソースファイル名からOpenCOBOLソースファイルの拡張子である「.cob」が除かれ、代わりに「.o」拡張子が付いたファイル名でオブジェクトファイルが作成されます。

 メイン処理プログラムソースファイル名を「mainprog.cob」、オブジェクトファイル名を「mainobj.o」とした場合のコンパイルコマンド例は、次のようになります。

コンパイルコマンド実行例
/usr/local/bin/cobc -c -x -o mainobj.o mainprog.cob
メイン処理プログラム以外のコンパイル方法

 メイン処理プログラム以外、すなわち連携先プログラムのコンパイル方法は次のとおりです。

cobc -c -o オブジェクトファイル名 ソースファイル名

 メイン処理プログラムコンパイルコマンドとの相違は、-xスイッチを付けないことだけです。もちろん、-oスイッチとオブジェクトファイル名を省略することもできます。

 ソースファイル名を「subprog.cob」、オブジェクトファイル名を「subobj.o」とした場合のコンパイルコマンド例は、次のようになります。

コンパイルコマンド実行例
/usr/local/bin/cobc -c -x -o subobj.o subprog.cob
実行型ファイルの作成

 メイン処理プログラムと連携先プログラムのコンパイルが終了し、実行型ファイルを作成する場合のコマンドは、次のとおりです。

cobc -x -o 実行型ファイル名 メイン処理プログラムオブジェクトファイル名 その他のオブジェクトファイル名

 ソースファイル名で指定するのではなくオブジェクトファイル名で指定する点を除けば、先に説明した「直接実行型ファイルを作成するコンパイルコマンド」と同じ内容です。「その他のオブジェクトファイル名」が複数ある場合は、複数指定します。メイン処理プログラムのみで連携先プログラムが無い場合は、その他のオブジェクトファイル名のパラメータは指定しません。

 メイン処理プログラムオブジェクトファイル名を「mainprog.o」、その他のオブジェクトファイル名を「subprog1.o」「subprog2.o」、実行ファイル名を「progexe」とした場合のコンパイルコマンド例は、次のとおりです。

コンパイルコマンド実行例
/usr/local/bin/cobc -x -o progexe mainprog.o subprog1.o subprog2.o

次のページ
プログラム連携を使ったサンプルプログラムの作成

この記事は参考になりましたか?

COBOLプログラミング連載記事一覧

もっと読む

この記事の著者

布施 榮一(ふせえいいち)

布施加工有限会社 代表取締役布施加工って何しているとこなの??実はIT屋さんだったりします(笑)Linux基盤各種サービスの設計構築およびコンサルティングをやっています。ブログもちょこちょこっと書いてます。Alinous-Core 正規販売代理店

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2656 2008/09/26 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー