GNUCobol(OpenCOBOL)错误:找不到libcob:module'»'

时间:2017-10-24 00:34:16

标签: cobol microfocus gnucobol

我正在转换为Microfocus编译器编写的一组COBOL程序,以便与GnuCobol一起使用。到目前为止,我已经取得了一定的成功,只需要更改一些特定于微距聚焦的日期命令,以及使用GnuCobol的-std=mf参数。

我正在使用www.arnoldtrembley.com/GnuCOBOL.htm

中的预构建版本

成功编译后运行某个文件时遇到此错误:

libcob: module '»' not found

在OpenCOBOLIDE玩游戏后,我发现违规行是

 CALL X"AF" USING SET-BIT-PAIRS
                               USER-KEY-CONTROL

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

您需要重新编码该部分。 GnuCOBOL仅支持一些编号的系统支持例程。 x“91”,x“E4”,x“E5”,x“F4”和x“F5”。 x“AF”不在内置系统库例程列表中。甚至支持的也不包括所有子功能的处理。

由于x“AF”与屏幕相关(至少从我见过的一个文档页面),您可以直接找出要发送到终端的转义码并使用DISPLAY而不是CALL手动执行该部分。

在不知道调用什么x“AF”子功能的情况下(无论SET-BIT-PAIRS中是什么),都无法想出特定的VT100序列来建议尝试。如果它只是子功能18,则单个字符的显示没有进展可能就足够了。子功能22仅意味着振铃终端铃声,这可以通过发出Ctrl-G来完成。等

如果您感到好奇,请运行cobc --list-system(或者只查看您使用的预构建包中的GnuCOBOL手册),以查看GnuCOBOL支持哪些库存系统库调用。

如果您喜欢冒险,您可以自由查看编​​译器源代码树,只需通过将CALL编号链接到C函数来更改libcob以支持您的代码,并使用新条目扩展libcob / system.def并从源头重建GnuCOBOL。

相关问题