SHOEISHA iD

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

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

COBOLプログラミング

OpenCOBOLと他言語の連携

C言語で作成したモジュールとの連携方法

  • X ポスト
  • このエントリーをはてなブックマークに追加

コンパイル方法

 前回は複数の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によるコンパイルコマンド
cobc -c -o オブジェクトファイル名 ソースファイル名
gccによるコンパイルコマンド
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

次のページ
プログラム連携の実際 その1

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
COBOLプログラミング連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2951 2008/09/29 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング