未找到 GnuCOBOL 入口点

Chr*_*ook 3 syntax cobol runtime-error gnucobol

我已经在我的 Ubuntu 17.04 系统上安装了 GnuCOBOL 2.2。我已经编写了一个基本的 hello world 程序来测试编译器。

1       IDENTIFICATION DIVISION.
2       PROGRAM-ID. HELLO-WORLD.
3      *---------------------------
4       DATA DIVISION.
5      *---------------------------
6       PROCEDURE DIVISION.
7           DISPLAY 'Hello, world!'.
8           STOP RUN.
Run Code Online (Sandbox Code Playgroud)

该程序名为HelloWorld.cbl。当我用命令编译程序时

cobc HelloWorld.cbl
Run Code Online (Sandbox Code Playgroud)

HelloWorld.so 产生。当我尝试使用运行编译的程序时

cobcrun HelloWorld
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

libcob: entry point 'HelloWorld' not found
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释 GnuCOBOL 中的入口点是什么,并可能提出一种解决问题并成功执行此 COBOL 程序的方法?

Ho1*_*Ho1 5

根据GNUCOBOL官方手册,您应该使用以下命令编译代码:

cobc -x HelloWorld.cbl
Run Code Online (Sandbox Code Playgroud)

然后运行它

./HelloWorld
Run Code Online (Sandbox Code Playgroud)

您还可以阅读GNUCOBOL wiki 页面,其中包含一些示例以获取更多信息。

PS 正如 Simon Sobisch 所说,如果您将文件名更改HELLO-WORLD.cbl为与程序 ID 匹配,那么您使用的相同命令就可以了:

cobc HELLO-WORLD.cbl
cobcrun HELLO-WORLD
Run Code Online (Sandbox Code Playgroud)