cobol to java_cobol to java

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

(a) Javaソースプログラムの作成

COBOLプログラムを呼び出すJavaプログラムでは,次の三つのJavaソースファイルを作成する必要があります。

mainメソッドを含むJavaプログラム(Javaクラス)

COBOLプログラムに対応するJavaプログラム(Javaクラス)

COBOLプログラムの初期化・终了処理を行うCプログラムに対応するJavaプログラム(Javaクラス)

mainメソッドを含むJavaプログラム(Javaクラス)

Javaアプリケーションは,「static」属性と「public」属性を持つ「main」という名前のメソッドから実行が开始されます。そのため,この「main」メソッドを含むJavaプログラム(Javaクラス)が必要です。

COBOLプログラムの呼び出し,及び利用者サービスルーチンの呼び出しを含む「main」メソッドを含むクラス「DLLtest」を记述したJavaソースファイル「DLLtest.java」の例を次に示します。

Javaソースファイルの例(DLLtest.java)

public class DLLtest

public static void main (String args[])

{

// 利用者サービスルーチンを呼び出す

// Cプログラムに対応するクラスのインスタンスを生成

DLLcbl85rt aDLLcbl85rt = new DLLcbl85rt ();

// 呼び出すCOBOLプログラムに対応する

// クラスのインスタンスを生成

DLLclass aDLLclass = new DLLclass ();

// COBOLプログラムの実行环境初期化処理を行う

// サービスルーチンを呼び出す

aDLLcbl85rt.cblgint ();

// COBOLプログラムの呼び出し

int result = aDLLclass.DLLcobol (10, 20);

// COBOLプログラムの実行环境终了処理を行う

// サービスルーチンを呼び出す

aDLLcbl85rt.cblend ();

// Javaプログラムの终了

System.exit (0);

}

COBOLプログラムに対応するJavaプログラム(Javaクラス)

Javaプログラムから他言语プログラムを呼び出す场合には,他言语プログラムに対応するJavaプログラム(Javaクラス)を作成しなければなりません。そのため,呼び出されるCOBOLプログラムに対応するJavaプログラム(Javaクラス)が必要です。

Javaプログラムから呼び出す,他言语プログラムに対応するJavaプログラム(Javaクラス)には,呼び出す他言语プログラムに対応する「native」属性を持つJavaメソッドを定义します。また,他言语プログラムを含むDLLをロードするstatic命令も含んでいる必要があります。

COBOLプログラムに対応するJavaプログラム(Javaクラス)の例と,この例で仮定している名称を次に示します。

Javaソースファイル(DLLclass.java)

class DLLclass {

// 呼び出されるCOBOLプログラムに対応する

// メソッドプロトタイプを定义する

public native int DLLcobol (int arg1, int arg2);

// 呼び出されるCOBOLプログラムを含むDLLをロードする

static {

System.loadLibrary ("DLLfunc");

}

名称 意味

DLLcobol 呼び出されるCOBOLプログラムに対応するJavaメソッドのメソッド名

DLLfunc.dll 呼び出されるCOBOLプログラムを含むDLLのファイル名

DLLclass 呼び出されるCOBOLプログラムに対応するJavaメソッドを含むJavaプログラム(Javaクラス)のクラス名

DLLclass.java DLLclassを记述したソースファイルのファイル名

注意事项

他言语プログラムに対応するJavaメソッドの宣言には,「native」を指定します。「native」指定は,Java言语以外の言语で実装されたメソッドであることを表します。なお,メソッドの本体は记述しません。

「native」が指定されたJavaメソッドに対応する他言语プログラムのプログラム名は,Javaメソッド名を変换した名前でなければなりません。详细は,「10.8.2(2) COBOL言语侧の作业」を参照してください。

「loadLibrary」メソッドの引数には,呼び出す他言语プログラムを含むDLLのファイル名(拡张子は除く)を指定します。

COBOLプログラムの初期化・终了処理を行うCプログラムに対応するJavaプログラム(Javaクラス)

COBOLプログラムに対応するJavaプログラム(Javaクラス)と同様に,COBOLプログラムの初期化・终了処理を実行する利用者サービスルーチン(CBLGINT/CBLEND)を呼び出すCプログラムに対応するJavaプログラム(Javaクラス)が必要です。

Cプログラムに対応するJavaプログラム(Javaクラス)の例と,この例で仮定している名称を次に示します。

Javaソースファイルの例(DLLcbl85rt.java)

class DLLcbl85rt {

public native int cblgint ();

public native int cblend ();

static {

System.loadLibrary ("DLLcbl85rt");

}

名称 意味

DLLcbl85rt 呼び出すCプログラムを含むDLLのファイル名

DLLcbl85rt 「native」指定を持つJavaメソッドとDLLをロードする処理を含むJavaクラスのクラス名

DLLcbl85rt.java Javaクラス「DLLcbl85rt」を定义したJavaソースファイルのファイル�

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值