Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

OpenCOBOLと他言語の連携

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

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/09/29 14:00

COBOL言語にはCOBOL言語以外で作成されたプログラムに対して連携する機能が備わっています。本稿では、OpenCOBOLで作成した処理に対し、C言語で作成したプログラムと連携させる方法について、解説します。

目次

はじめに

 前回は、OpenCOBOL相互のプログラム連携について、機能確認を行いました。しかしながら、プログラム連携はCOBOL相互だけで行うことは少なく、COBOLと他言語で作成されたプログラムで行うのが一般的です。

 今回は、OpenCOBOLとC言語で、呼出側、被呼出側のサンプルプログラムをそれぞれ作成し、COBOL言語仕様によるプログラム連携について解説します。

前回の記事

対象読者

 OpenCOBOLと連携するプログラムをC言語で解説するので、基本的なC言語について理解している読者を対象とします。また、Linux環境が前提のため、基本的なLinuxコマンドを理解している読者を対象とします。

必要な環境

  • Linux動作環境
  • OpenCOBOL開発環境
    LinuxにおけるOpenCOBOL開発環境の構築は、COBOL言語をLinux環境で動かすを参照ください。
  • C言語開発環境
    連携するプログラムをCで作成します。通常のLinux環境ではgcc(GNU C compiler)が導入されています。本稿ではgccを使用しています。

複数プログラム連携のしくみ

 異なる言語間のプログラムで処理を継続させるためには、実行の制御とデータの引渡しについて考慮する必要があります。OpenCOBOLとCによる連携のしくみを簡単な図にしてみました。

 プログラム間のパラメータはデータ項目の先頭アドレスを引き渡し、OpenCOBOLのPROGRAM-IDとCの関数名を一致させることにより、プログラム間連携を果たしています。

 以後、本稿ではコンパイル後、コマンドラインから実行されるプログラムを「メイン処理プログラム」、メイン処理プログラムからCALL文等により実行されるプログラムを「連携先プログラム」と呼ぶことにします。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

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

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

バックナンバー

連載:COBOLプログラミング
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5