Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

C/C++-Compiler

&pagelevel(3)&pagelevel

Die BS2000-Compiler C/C++ können sowohl aus der BS2000-Umgebung (mit SDF) als auch aus der POSIX-Umgebung (POSIX-Shell) aufgerufen und mit Optionen gesteuert werden.

Compilersteuerung über die SDF-Schnittstelle

Sämtliche Compiler-Ein-/Ausgaben sind sowohl im BS2000-Dateisystem (DMS/PLAM) als auch im POSIX-Dateisystem möglich:

  • Eingabe von Quellprogrammen

  • Eingabe von Include-Dateien

  • Ausgabe von LLMs

  • Ausgabe von wiederübersetzbaren Quellprogrammen

  • Ausgabe von Übersetzungslisten

  • Ausgabe von Meldungslisten

  • Ausgabe von CIF-Informationen

Beliebige Mischfälle, d.h. die Ein- und Ausgabe sowohl von BS2000- als auch von POSIX-Dateien in einem Übersetzungslauf, sind möglich.

Die SDF-Schnittstelle des Compilers ist im Handbuch "C/C++-Compiler" [5]“ beschrieben.

Compilersteuerung über die POSIX-Shell-Schnittstelle

Für die Steuerung der C/C++-Compiler aus der POSIX-Umgebung stehen folgende POSIX-Kommandos zur Verfügung:

cc, c89

CC

cclistgen

Übersetzen von C-Sourcen

Übersetzen von C++-Sourcen

Aufruf des globalen Listengenerators in C/C++

Diese Kommandos sind im Handbuch "C/C++ POSIX-Kommandos" [4] ausführlich beschrieben.

Sämtliche Compiler-Ein-/Ausgaben erfolgen ausschließlich im POSIX-Dateisystem.

In die Aufrufkommandos cc, c89 und CC ist auch eine Binde-Phase integriert, in der die übersetzten Objekte zu einer ausführbaren Einheit gebunden werden können.

Mit den Optionen und Operanden der oben genannten Aufrufkommandos sind weitgehend die Leistungen und Funktionen abgedeckt, die mit der Compiler-Steuerung über die SDF-Schnittstelle zur Verfügung stehen. Die Syntax der POSIX-Kommandos ist an der Definition im XPG4-Standard bzw. an den in UNIX-Systemen üblichen Shell-Kommandos orientiert.

Der Compiler unterstützt arithmetische Datentypen der Länge 64 (long long). Das ist eine Voraussetzung, um Zugriffe auf große Dateien in POSIX zu programmieren.

Hinweise zu CRTE

Da CRTE (Common RunTime Environment) die Laufzeitumgebung für C- und C++-Programme bereitstellt, ist es Voraussetzung für die Verwendung des C/C++-Compilers.

Die benötigte CRTE-Version hängt von der Version des eingesetzten Compilers ab. Nähere Informationen finden Sie in der Freigabemitteilung des C/C++-Compilers.

Zeichensätze für Ein-/Ausgabe-Dateien

Die Quellprogramme und Include-Dateien können im EBCDIC- oder ASCII-Code vorliegen. Somit ist es auch möglich, Quellprogramme aus Dateisystemen zu übersetzen, die auf einem fernen UNIX-System liegen. Alle Dateien eines Dateisystems (lokales POSIX-Dateisystem oder eingehängtes fernes Dateisystem) müssen im selben Zeichensatz vorliegen. D.h. im POSIX-Dateisystem müssen alle Dateien im EBCDIC-Code und im fernen UNIX-Dateisystemen müssen alle Dateien im ASCII-Code vorliegen.

Die Umgebungsvariable IO_CONVERSION muss mit dem Wert „YES“ belegt sein (siehe dazu auch "Kopieren und Konvertieren von Dateien").

Der Ausgabe-Zeichensatz der Textdateien (Listen etc.) richtet sich nach dem Zeichensatz des Zieldateisystems.

Es wird generell EBCDIC-Ablaufcode erzeugt.