问题标签 [gnucobol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JNA 和 JNI - 尝试引用未分配的内存
我正在使用 JNI(现在是 JNA 来查看问题是否发生变化)将 Java 连接到 C 代码。这段代码有两种我正在尝试使用的方法,它们应该从 Java 代码中多次调用,但是,当我进行本机调用时,我得到了它:
- 调用方法一 = 我得到了回应
- 调用方法二 = 我得到了回应
- 再次调用方法 =尝试引用未分配的内存
(信号 SIGSEGV) - 执行会因此失败而停止。
我试图单独调用第一种和第二种方法(而不是一个接一个地调用它们)并且问题没有发生。当我一个接一个地打电话时,它就会发生,就像他们应该工作一样。看起来我没有像我应该的那样释放内存,或者 JNA/JNI 正在这样做。
C 代码 (JNI)
C 代码 (JNA)
Java 调用
CALLExternMethod1 和 CALLExternMethod2 不是问题。即使存在虚假响应且未使用方法,也会发生此问题。
有同样问题的人吗?
linux - 在 ubuntu 上使用 gnu cobol 编译 windows (.exe) 可执行文件
我需要一个我在 .cobc 文件中编写的程序,以编译为 Windows 可执行文件。该文件名为 main.cobc
使用以下命令编译它: cobc -x -free *.cobc -o main
使其成为一个 linux 可执行文件,可以,但不能直接在 Windows 上运行。
我有 gnucobol (OpenCOBOL 安装在我的 linux ubuntu VM 上。
请帮忙。有没有办法以与 Windows 兼容的方式编译它?
提前致谢!
cobol - cobol & JCL 去除多余的空格
我正在尝试接受来自 jcl 的输入,例如“John Snow”并从我的 cobol 程序运行它我使用 JUSTIFIED RIGHT VALUE SPACES 将字符串移动到右侧但是我需要使用我的 cobol pgm 删除额外的空格。
例如我的工作存储是:
在我的程序部门
它在屏幕右侧显示“John Snow”,但我不知道如何删除多余的空格。
c - DevC++ C 调用 OpenCobolIDE 模块
我正在尝试从使用 Dev C++ IDE 用 C 编写的程序调用 OpenCobol 文件处理例程(它们是免费的,我喜欢它们)。
当您将代码编译为模块时,Cobol 环境会生成一个 DLL,因此我希望我可以只使用调用代码的常规方法(见下文)。如果按如下方式编译和运行,我会收到错误消息“libcob:cob_init() 尚未被调用”,但是,在相关位置包含标头和库并取消注释代码中的部分后,我得到“未定义”引用 _imp_cob_init" 消息。
我显然错过了一些简单的东西。任何帮助,将不胜感激。
AdyB
cobol - GNUCobol (OpenCOBOL) 错误:libcob:找不到模块“»”
我正在转换为 Microfocus 的编译器编写的一组 COBOL 程序,以便与 GnuCobol 一起使用。到目前为止,我已经取得了一定的成功,只需要更改一些特定于微焦点的日期命令,以及使用 GnuCobol 的-std=mf
参数。
我正在使用来自www.arnoldtrembley.com/GnuCOBOL.htm的预构建版本
成功编译后运行某个文件时遇到此错误:
在OpenCOBOLIDE中玩了一圈后,我发现违规行是
我能做些什么来解决这个问题?
syntax - 未找到 GnuCOBOL 入口点
我已经在我的 Ubuntu 17.04 系统上安装了 GnuCOBOL 2.2。我编写了一个基本的 hello world 程序来测试编译器。
该程序名为HelloWorld.cbl。当我用命令编译程序时
生成了 HelloWorld.so。当我尝试使用
我收到以下错误:
任何人都可以向我解释 GnuCOBOL 中的入口点是什么,并可能提出解决问题并成功执行此 COBOL 程序的方法吗?
cobol - GNUCobol 编译的程序比预期多记录一条
我正在学习 COBOL 编程并使用 GNUCobol(在 Linux 上)来编译和测试一些简单的程序。在其中一个程序中,我发现了一个我不理解的意外行为:在读取记录的顺序文件时,我总是得到一个额外的记录,并且在将这些记录写入报告时,最后一条记录被复制。
我制作了一个非常简单的程序来重现这种行为。在这种情况下,我有一个带有单行文本的文本文件:“0123456789”。该程序应该计算文件中的字符(或 1 个字符长的记录),我希望它显示“10”作为结果,但我得到“11”。
此外,在显示记录时,当它们被读取时,我得到以下输出:
(9 和 11 之间有两个空格)。
这是该程序的相关部分:
我正在使用编译器的默认选项,我尝试使用“WITH TEST {BEFORE|AFTER}”,但结果是一样的。这种行为的原因可能是什么,或者我怎样才能得到预期的结果?
编辑:我尝试使用“空”文件作为数据源,预计记录数为 0,使用两种不同的方法清空文件:
这样记录计数为 1(ls -l 为文件提供 1 个字节的大小)。
这样,记录计数为 0(ls -l 为文件提供 0 个字节的大小)。所以我猜想编译的程序以某种方式检测到一个额外的字符,但我不知道如何避免这种情况。
java - 本机方法中的致命错误:ReleasePrimitiveArrayCritical:边界检查失败
我正在尝试使用 JNI 将我的 Java 代码与 C 程序(使用 GnuCobol 翻译)连接起来。不幸的是,我无法访问 C 源代码并用 Java 重写,所以我创建了一个包装 C 程序来调用它。
帮助解决以下错误
该错误发生在第二次尝试从 C 程序获得一些响应时。
使用 -Xcheck:jni 生成的日志
我需要帮助找出原因。
来源
Java 代码片段
主要的gnucobollib
C 源代码
该方法CALLBANANA
来自使用 GNUCobol 翻译的 Cobol 代码。
临时解决方案
直接在 C 包装程序上处理所有信号。尽管有错误消息,但一切正常,对 GnuCobol 的数百万次调用没有任何问题。
仍在等待将代码重新编译为最新版本的 GnuCobol
clang - Gnucobol 将 .cob 编译为 .c 未能通过 clang 的编译器
我试图将 hello.cob 编译为 hello.c:
但clang
未能将 hello.c 编译为可执行文件:
这是hello.cob(可以编译cobc -x hello.cob
):
cobol - COBOL 显示文件中的所有重复项
我有一个文件,其中包含不同名称的列表。有些人出现两次或更多。
我想显示在此列表中出现两次或更多的所有艺术家。
我该如何进行?
提前致谢,
仕龙