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 程序的方法?
根据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)