当前位置: 首页 > 知识库问答 >
问题:

大型机上的Unix:COB2编译器,用于Java调用COBOL

祁景山
2023-03-14

我一直在努力让COBOL和Java在大型机上相互交互,但在cob2编译器上遇到了麻烦,它是大型机上的Unix等价物。

我还没有在网上看到过很多关于这个编译器的用户体验,所以我想知道如果我问一个更直接的问题,人们会透露他们的洞察力。

IBM有几个Java直接或间接调用COBOL dll的示例,但它们最终归结为将COBOL编译为dll,使用System.Load,编译Java并运行。这些例子对我来说不起作用,原因如下。

当使用带有-c选项的cob2时,它可以生成一个。o目标文件。这对我来说没有发生,尽管它确实生成了一个空的。lst文件。我可以通过跳过-c步骤,使用以下一系列命令编译和链接来解决这个问题:

`    sh ${COB2HOME}/bin/cob2 -o ${DIR}/c2jcr.o  
      -qdll,thread,case=mixed ${DIR}/c2jcr.cbl;
       ${COB2HOME}/bin/cob2                    
      -o ${DIR}/libc2jcr.so                    
      -bdll,case=mixed ${DIR}/c2jcr.o          
      ${JAVAHOME}/bin/j9vm/libjvm.x            
      ${COB2HOME}/lib/igzcjava.x               `

在cob2库中有这些LE模块,或者在脚本中的某个地方,我是否遗漏了什么?我试图从大型机中拉入加载,该大型机使用LE模块原封不动地编译,并在链接步骤中显式地声明了条目CEESTART,但除了“unsatifiedLinkError”和“internal error”之外,不能得到任何更多的信息。

任何智慧都是非常值得赞赏的,尤其是如果您已经走上了一条完全不同的路线从Java调用COBOL的话。非常感谢。

共有1个答案

闻人修明
2023-03-14

在与IBM协商之后,我发现我缺少了一些东西。

您必须将一个STEPLIB环境字段设置为大型机上COBOL编译器的位置,以便它能够找到您的IGYCRCTL模块。

其次,与其他COBOL5+编译一样,您必须分配大量空间才能进行编译。2 GB是不够的。由于我没有在Unix中重新分配它的权限,所以我运行了一个region=0m的BPXBATCH作业。

sh${COB2HOME}/bin/cob2-c-qdll,thread,case=mixed${DIR}/${COBPROG}.cbl

作为编译步骤,剩下的只是链接。

 类似资料:
  • 注:内容翻译自官网文档 Compiler Invocation 当使用--java_out= 命令行标记时,protocol buffer编译器生成java输出。--java_out= 选项的参数是想编译器写java输出的目录。编译器为每个.proto文件输入创建一个单一的.java文件.这个文件包含一个单一的outer class定义,包含一些内嵌类和静态字段,基于.proto文件中的定义。 o

  • 我的应用程序位于Quarkus框架之上。该应用程序的主要功能是简单的REST API,用于安排一些任务(现在它只是将一些消息发布到日志中)。 调度功能是我用Quartz framework实现的,通常情况下,当应用程序收到安排新事件的POST请求时,它会做两件事: 将实体从请求保存到数据库 在JSON中提到的日期和时间上安排Quartz作业 此外,当应用程序刚刚启动时,我创建了从数据库中获取所有实

  • 我已经在Jboss EAP 6.2上安装了cicseci.rar。这个资源适配器是从http://www-01.ibm.com/support/docview.wss?下载的uid = swg 24008817 # s hash . 3k 4 M8 smo . dpuf 然而,在运行我的简单代码时,我得到了这个错误- 有人对此有什么见解吗?

  • 我试图运行一个Python程序从内部Java使用以下语句 进程p=Runtime.getRuntime(). exec("python"文件); 其中文件是字符串“c:\user\test.py” 这给我带来了一个例外 原因:java.io。IOException:CreateProcess错误=2,系统找不到指定的文件 我确保我的系统变量有一个指向我的python主目录的条目。 请帮忙

  • 问题内容: 我正在寻找基于Java的Less CSS编译器。在Github上,我偶然发现了 lesscss4j lesscss-java 两者都来自同一位开发人员。不幸的是,我不能完全弄清它们之间的区别。 有人可以告诉我吗?您还知道其他哪些编译器? 问题答案: LESS Engine将JavaScript编译器包装在简单的Java接口中。 我没有使用lesscss-java,因此无法评论相对质量,