Wie kompiliere ich ein COBOL-Programm und führe es aus?


20

Kann mir jemand erklären, wie man ein COBOL-Programm in Ubuntu kompiliert und ausführt? Ich habe noch nie ein Programm in Ubuntu geschrieben. Bitte geben Sie mir ein einfaches Programm zum Kompilieren und Ausführen.

Antworten:


38

COBOL ist unter Linux nicht besonders beliebt, es stehen jedoch Compiler zur Verfügung. Eines davon ist Open-Cobol.

Der erste Schritt besteht darin, zu überprüfen, ob es auf Ihrem System installiert ist: wahrscheinlich nicht.

whereis cobc; which cobc
cobc:

Wenn es wie mein System nicht installiert ist, können Sie es mit installieren

sudo apt-get install open-cobol

Und um zu überprüfen, ob es installiert ist whereis cobc; which cobc

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

Jetzt können wir unser erstes Programm mit einem beliebigen Texteditor schreiben.

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

speichere dies als "helloworld.cbl"

Wir können es jetzt mit kompilieren cobc -free -x -o helloworld helloworld.cbl

Auf meinem System sehe ich das

$ 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]

Ein paar Warnungen - aber kein Fehlertest mit ./helloworld

Hello World!

Es klappt.


Alternative (festes Format):

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

speichere dies als "helloworld.cob" und kompiliere es mit cobc helloworld.cob(run with cobcrun helloworld.

Wenn Sie die Warnungen aus dem C-Compiler entfernen möchten, laden Sie einen aktuellen GnuCOBOL 2.x-Snapshot herunter (der noch kein aktualisiertes Paket enthält) und erstellen Sie ihn selbst (benötigt einen zusätzlichen apt-get bison flex libdb-dev curses-dev).


Genommen von:

Cobol Hello World Beispiel: Schreiben, Kompilieren und Ausführen von Cobol-Programmen unter Linux auf thegeekstuff.com

Getestet unter Ubuntu 12.04.2


2
Das zu sehen, machte einen grauhaarigen Geek glücklich.
Bobble

1
Diese Antwort ist gut - außer dass die Kommentarzeichenkombination tatsächlich *>oder einzeln *in Spalte 7 steht. Der neue Benutzer @David hat dies als Antwort geschrieben (er konnte keinen Kommentar abgeben) - dies kopiert den Inhalt stattdessen in einen Kommentar, um ihn beizubehalten es, wenn die Antwort gelöscht wird.
Volker Siegel

1
@ VolkerSiegel wirft einen guten Punkt auf. Ich musste den Kommentar ändern *>, um dies zu kompilieren.
Sorrell

4

Sie können den Open-Cobol-Compiler verwenden. Drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen den folgenden Befehl aus:

sudo apt-get install open-cobol
cobc your_program_here.cbl 

1

Warren Hill gab eine gute Antwort. Sie können auch eine IDE wie Eclipse verwenden, um mit COBOL zu helfen, aber ich bin mir nicht sicher, ob dies angemessen ist, wenn Sie noch nie programmiert haben.

Siehe Eclipse COBOL-Forum, Eclipse-Foren

Mir ist eines der verfügbaren COBOL-Plug-Ins aufgefallen ...


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.