如何编译和运行COBOL程序?


Answers:


38

COBOL在Linux上并不是特别流行,但是有可用的编译器。其中之一是开放式。

第一步是检查系统上是否已安装它:可能没有。

whereis cobc; which cobc
cobc:

如果未安装我的系统,则可以使用

sudo apt-get install open-cobol

并检查其安装 whereis cobc; which cobc

cobc: /usr/bin/cobc /usr/bin/X11/cobc /usr/share/man/man1/cobc.1.gz
/usr/bin/cobc

现在,使用任何文本编辑器编写我们的第一个程序。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
*> simple hello world program
PROCEDURE DIVISION.
    DISPLAY 'Hello world!'.
    STOP RUN.

将此保存为“ helloworld.cbl”

我们现在可以用 cobc -free -x -o helloworld helloworld.cbl

在我的系统上,我看到了

$ cobc -free -x -o helloworld helloworld.cbl
/tmp/cob3837_0.c: In function ‘HELLO_2DWORLD_’:
/tmp/cob3837_0.c:75:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:76:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:77:7: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:88:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:107:5: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
/tmp/cob3837_0.c:111:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]

一些警告-但没有错误可以测试 ./helloworld

Hello World!

有用。


替代(固定格式):

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO-WORLD.
      * simple hello world program
       PROCEDURE DIVISION.
           DISPLAY 'Hello world!'.
           STOP RUN.

将其保存为“ helloworld.cob”,然后使用编译cobc helloworld.cob(使用cobcrun helloworld

如果要从C编译器中删除警告,请执行以下操作:下载当前的GnuCOBOL 2.x快照(尚无更新的软件包)并自己构建(需要其他apt-get bison flex libdb-dev curses-dev)。


取自:

Cobol Hello World示例:thegeekstuff.com上如何在Linux OS上编写,编译和执行Cobol程序

在Ubuntu 12.04.2上测试


2
看到这一点,使一个白发极客感到高兴。
泡泡龙

1
这个答案很好-除了注释字符组合实际上是第7列中的*>一个字符或单个字符之外*。新用户@David将此作为答案(他无法发表评论)-而是将内容复制到评论中,以保留如果答案被删除。
Volker Siegel

1
@VolkerSiegel提出了一个很好的观点。我必须更改注释才能*>将其编译。
sorrell


1

沃伦·希尔给出了一个很好的答案。您也可以使用Eclipse之类的IDE来帮助COBOL,但是如果您从未编程过,我不确定这是否合适。

请参阅Eclipse COBOL论坛,Eclipse论坛。

我注意到其中一个帖子列出了可用的COBOL插件...


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.