问题标签 [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.
cobol - 如何获取cobol目录中的所有文件
我正在使用 GnuCOBOL(使用 Windows),我需要用它编写一个编译器。
我要问的是 - 给定目录路径,我可以使用 COBOL 修改其中的文件吗?重要的是说您不知道文件名。您只知道包含它们的目录的路径。
cobol - GnuCOBOL 程序在两行的细微更改后无法编译
我有 Ubuntu 12.04.5,我已经安装了 GnuCOBOL 平台,并且我已经编写了 GnuCOBOL 一段时间没有问题。
我现在正在做一些非常微不足道的事情:我有一个程序 MULT03.cob,我已经编译并运行如下:
然后我所做的是我在程序代码中引入了一个真正的微观变化(我确信问题在更高的层次上,在链接/环境变量或其他方面,但我没有改变任何东西)并得到
MULT04.cob 基本上是 MULT03.cob 更改了两行。两者都在目录、源代码、目标代码和所有内容中:
我很想知道是什么让运行时系统找到了一个而不是另一个。我尝试过以不同的方式命名 MULT04(不是必须的,只是为了排除错误源)。其他早期程序编译和运行没有问题:
这些是(略有不同的)代码段:
后段是MULT04.cob,前段是MULT03.cob。
c - 来自 dlsym 的通用函数,带有取消引用的浮点数
GnuCOBOL 编译器通过使用动态符号查找来支持动态 CALL,但这里的 MCVE 严格来说是 C,并且比最小证明(我认为)4 和 8 字节大小都有效。
这是 AMD-64,所以 sizeof *float 不等于 sizeof float。
该问题仅在由 dlsym 查找中的通用(在本例中未签名)函数指针调用时取消引用浮点数时才会出现。
带着一连串
我想我需要一些关于 64 位 ABI 在取消引用浮点数据时如何处理未签名调用的教育。
包含 COBOL 标记是因为当使用 FLOAT-SHORT (C float)和 CALL BY VALUE 时,这会破坏 GnuCOBOL (生成 C 中间体),而 FLOAT-LONG (C double) CALL BY VALUE 可以工作,32 位整数也是如此。
顺便说一句,我很确定这不是 gcc 中的错误,因为 tcctcc -rdynamic -g -o tccmcve stackoverflow.c -ldl
显示相同的输出,浮动取消引用似乎很无聊,所以我倾向于(并希望)这是一个可修复的东西,给出正确的语法提示到编译器,或编译时选项。
cobol - 编译器认为我指的是不存在的段落或部分
在我的一项课堂作业中,我遇到了有关我的程序部门的错误。这是一个 COBOL 程序,应该保持申请人的平均身高和体重、棕色眼睛的申请人数、男性申请人数和女性申请人数的总和。此外,该程序应该打印满足特定要求的申请人的信息,但我的几乎所有执行语句都出现错误
COBCH0034 操作数操作数应该是数字 在此上下文中需要一个数字值,并且您指定了一个非数字值。
COBCH0014 操作数无效 您指定的操作数在某种程度上不正确,您的 COBOL 系统无法处理。例如,您可能指定了一个负整数,其中只允许使用正整数
cobol - 使用另一个表中的索引
如果使用另一个表的索引访问表元素(没有索引的表),则可能会在 IBM 主机上出现表溢出错误。但是在使用 GnuCOBOL(以前称为 OpenCOBOL)时,相同的程序不会导致崩溃或消息(即使有调试选项)。
例如
是否有编译器选项来发出警告以避免这种用法?
通过使用正确的用法可以避免此错误。即,使用变量“IX”,而不是使用不同表的索引(S-SUB)。
一般来说,交换独立表(不同大小)的索引似乎是错误的。
ide - 如何在 DB2 Express C、Windows 8.1、GnuCOBOL、OpenCOBOL IDE 中解析 SQLCODE -805
我正在尝试使用 OpenCOBOL IDE 和 DB2 Express-C。一个非常简单的程序 TEST0002.sqb 已准备好并与 DB2 创建绑定 - TEST0002.bnd 和 TEST0002.cbl 文件。现在,当我在 OpenCOBOL IDE 中执行程序时,我得到 -805。显示以下消息:(另附)
TEST0002.sqb
准备、装订和包装信息:
预编译后的COBOL源: TEST0002.cbl
cobol - 在 COBOL 中启动子进程
如何在 GnuCOBOL 中启动子进程?
在 Node.js 中,我们可以使用spawn
或exec
来启动子进程:
上面的两个示例都运行ls -l
(列出文件和目录)。如何在 COBOL 中实现相同的目标?
gcc - 涉及开放 cobol dll 的 jni 调用
我正在尝试使用 JNI 调用现有的 COBOL 应用程序。COBOL 应用结构如下。
现有的 COBOL 应用程序涉及多个静态调用子程序 (COBOL) 和许多动态 (COBOL) 子程序。
应用程序的 Jni 调用正常,但无法定位和调用 COBOL 动态子模块。
修改后的Application结构(针对jni)如下:
我在 CALL 之前验证了 COB_LIBRARY_PATH 和 LD_LIBRARY_PATH 环境变量,这些似乎没问题。
在案例动态模块中收到以下错误消息。
我在 linux 上使用 64 位,1.1.0。gcc 用于使用 cobc 命令的 c 输出创建二进制文件
cobol - 索引文件错误
我正在尝试按索引打开文件,但不断收到以下错误。从我能找到的所有 COBOL 代码示例中,我看不到我的错误在哪里。
我能够按顺序打开文件就好了。这似乎是试图以索引方式打开它。
错误:
系统:
代码:
文件内容:
linux - Cobol - 语法错误,意外 $undefined,期待“文件结尾”
我在 cobol 中的语法有问题。我在 Ubuntu 4.2.0-16-generic 上使用 open-cobol 包,但出现错误:
我的 cal.cbl 文件:
我是 cobolt 的新手,我对列有所了解,这就是我使用 -free 标志进行编译的原因,但这个错误对我来说毫无意义。
为什么会出现这个错误,请帮忙:)