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ソースファイルのファイル�

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Elf

机器执行的是机器指令,而机器指令就是一堆二进制的数字。高级语言编写的程序之所以可以在不同的机器上移植就因为有为不同机器设计的编译器的存在。高级语言的编译器就是把高级语言写的程序转换成某个机器能直接执行的二进制代码。以上的知识在我们学习CS(Computer …

python教程闭包_Python教程 闭包的特性

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~闭包(closure)是函数式编程的重要的语法结构。函数式编…

直接打印报表

在ax中有时可能需要在打印时,不显示报表的预览与设置窗口,而是直接Send到打印机。可以使用ClassFactory、PrintJobSettings、ReportRun来完成。 static void NJ_MF_DirectPrint(Args _args) { Args args new Args(); ReportRun …

如何构建自己的SIP SERVER!

如果你下载了 sip phone, 自己又做了一个 SIP SERVER,那么你就可以当老大了,不要什么MSN,QQ的语音通话了,自己就可以直接同你想要的人通话了。1:软件准备:A: SIP SERVER http://www.brekeke.com/en/download/idx_sipse…

java java.lang_Java之java.lang.IllegalMonitorStateException

今天又中彩了, 原本很简单的多线程程序, 蓦然间冒了个"java.lang.IllegalMonitorStateException" , 杀了个措手不及. 一直纳闷, 为什么为什么? 查资料说该异常由于对象未获取得到Lock就试图操作Lock. 再细细源码, 原来不不小将lock.lock()写错为lock.tryLock(). 坑爹…

CruiseControl.NET ----- mail 配置

最近在用 CruiseControl.NET实现每日构建,其他配置起来都挺方便,就是在邮件设置上费了不少时间,我用的是CC.NET1.6,这个版本已经支持发送附件,如果使用外部邮箱,记得要把邮箱的smtp功能打开,下面是Mail配置的一个例子&…

java编程字_Java编程基本概念

1.标识符①用于给变量、类和方法命名(类名首字母大写,变量和方法名首字母小写并遵循驼峰原则)②标识符的命名规范:■标识符必须以字母、下划线和美元符$开头。■标识符其他部分可以是字母、下划线、美元符和数字的任意组合。■Java标识符大小写敏感&…

ubuntu gedit出错:Failed to connect to the session manager

刚才用su到root后,用命令gedit发现会出错:** (gedit:2976): WARNING **: 连接已关闭(gedit:2976): EggSMClient-WARNING **: Failed to connect to the session manager:None of the authentication protocols specified are supported** (gedit:2976): …

php 类的实现 完整例子

文件目录&#xff1a; --index.php --php --data_info.php index.php 这里要require_once类所在的php文件 <?php require_once(./php/data_info.php);$oneDatanew user;$oneData->setName("username");$oneData->setPassword("password");echo $…

mac java版本 不一致_mac实现不同版本的jdk切换

之前使用jdk11进行java开发(纯粹因为喜欢新版?)但是使用jdk11在布署hadoop伪分布时各种报错, 所以还是下载jdk8回来.接下来就是mac端切换两个版本的jdk(按照网上找的方式好像有bug-文章最后再说.虽然不知道怎么解决,但是至少我可以成功部署hadoop, 所以这里就先忽略)首先下载j…

Meld安装

Ubuntu下文件/目录对比的软件Meld可能有很多用户还不是很熟悉&#xff0c;下文就给大家介绍如何安装Meld和移植到Gedit下。具体内容如下所述。 Meld允许用户查看文件、目录间的变化。很容易移植到Gedit下&#xff0c;方便用户使用。 安装Meld Meld默认在Ubuntu官方源中&#…

ios sqlite3 初级应用

ios sqlite3 初级应用 在ios中&#xff0c;持久化用好几种 方法&#xff0c;前面已经介绍了 两种 &#xff0c;一个是简单的写入文件&#xff0c;另一个是加入了序列化并写入文件中&#xff0c;现在介绍 ios 中嵌入式数据库sqlite3的初级应用 当然在使用sqlite3之前 你需要将l…

java aqs源码_java中AQS源码分析

AQS内部采用CLH队列。CLH队列是由节点组成。内部的Node节点包含的状态有static final int CANCELLED 1;static final int SIGNAL -1;static final int CONDITION -2;static final int PROPAGATE -3;其中取消状态表示任务的取消&#xff0c;SIGNAL状态表示后续节点需要唤…

android4.0.3去掉底部状态栏statusbar,全屏显示示例代码

要去掉android4.0上的状态栏&#xff0c;全屏显示的代码如下&#xff1a; 1、将usleep和killall这二个文件放到assets文件夹下。这二个文件可在下面的附件中下载到。 2、创建Device.java&#xff08;注&#xff1a;附件里有完整的代码&#xff09;: 001import java.io.Buf…

[译]预留位置队列PRQueue:多线程程序中消息输入队列和消息输出队列保持同序...

译自&#xff1a; http://accu.org/var/uploads/journals/overload101.pdf 在多线程应用程序中&#xff0c;要求消息输入队列和消息输出队列顺序要求保持一致&#xff0c;而忽略多线程并发处理的顺序&#xff0c;这种情况是比较难处理的。在本文中&#xff0c;作者设计了一种新…

java 前端工作内容_java前端、java后端、java全栈工作主要内容是什么?哪个薪资高?...

摘要最近&#xff0c;听了一场关于java全栈工程师职位的简介说明&#xff0c;里面很清楚的说明了一下前端&#xff0c;后端&#xff0c;全栈都是做什么工作的。其实&#xff0c;想做这个行业&#xff0c;就应该了解职能以及技能需求&#xff0c;这样学习才能更高效。我知道一些…

用yate2实现软VoIP语音通话(SIP协议)

用yate2实现软VoIP语音通话(SIP协议) 阳光男孩 发表于 2009-01-08 2009年1月7日&#xff0c;工业与信息化部发放了三张3G牌照&#xff0c;标志着中国进入了通信技术的新时代。3G的重要特性之一是高速数据链路&#xff0c;移动上网速度大大提高。同时&#xff0c;中国移动也大…

避免頁面重復提交3/15

在用戶做資料錄入操作時時常會反映重復記錄出現,經過了解是針對新手或者性子急的用戶在儲存時多次點擊引起 有效處理方法:新增一textbox,對儲存按鈕的onclick增設js代碼:btnsave.Attributes.Add("onclick", "var tb15document.getElementById(Textbox15);var nu…

java 日志设计_Java日志设计实践(3) - 开发篇

1.选择恰当的日志级别2.输出明确的提示文字和充分的现场信息3.输出内容一行搞定&#xff0c;不要换行4.其他1.选择恰当的日志级别选择日志级别时需要遵循一些通用规范&#xff0c;不可随意定义log4j的日志级别&#xff0c;由低到高排列&#xff1a;all trace debug info warn e…

ConfigurationManager.AppSettings[] ConfigurationManager智能显示不出来

解决办法&#xff1a;在项目中添加System.Configuration引用。转载于:https://www.cnblogs.com/2008freestyle/archive/2012/03/15/2398046.html