Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Optionen zur Auswahl des Sprachmodus

&pagelevel(4)&pagelevel

-X cc 

Diese Option dient zur Auswahl des C-Modus. Sie muss nur angegeben werden, wenn der Compiler im C-Modus laufen soll, aber nicht durch cc, c11 oder c89 aufgerufen wird.

-X CC 

Diese Option dient zur Auswahl des C++-Modus. Sie muss nur angegeben werden, wenn der Compiler im C++-Modus laufen soll, aber nicht durch CC aufgerufen wird.

-X 89
-X 90
-X 1990

C89-Modus (Voreinstellung beim Compileraufruf mit c89)

Diese Option ist nur im C-Modus erlaubt. Der Compiler unterstützt C-Code gemäß dem ANSI-/ISO-C-Standard von 1990. Dieser Standard ist auch als ANSI C89-Standard bekannt. Die Angabe entspricht der Angabe -X a bzw. -X c des C/C++ V3-Compilers.
__STDC_VERSION__ hat den Wert 199409L.

-X 11
-X 2011

C11-Modus (Voreinstellung beim Compileraufruf mit cc bzw. c11 oder Angabe von -X cc)

Diese Option ist nur im C-Modus erlaubt. Der Compiler unterstützt C-Code gemäß dem C-Standard von 2011.
__STDC_VERSION__ hat den Wert 201112L.

-X kr
-X KR

K&R-C-Modus

Diese Option ist nur im C-Modus erlaubt. Dieser Modus sollte nicht für Neuentwicklungen verwendet werden. Er ist beispielsweise dazu geeignet, „alte“ K&R-C-Quellen zu portieren und/oder sukzessive auf ANSI-C umzustellen.
Der Compiler akzeptiert C-Code gemäß der Definition von Kernighan/Ritchie („Programmieren in C“, 1. Ausgabe). Darüberhinaus unterstützt er C-Sprachmittel des ANSI-C-Standards, die in der Semantik nicht von der Kernighan/Ritchie-Definition abweichen (z.B. Funktions-Prototypen, const, volatile). Dies erleichtert die Umstellung einer K&R-C-Quelle auf ANSI-C. Es stehen alle C-Bibliotheksfunktionen des Systems zur Verfügung (ANSI-Funktionen, POSIX- und X/OPEN-Funktionen, UNIX-Erweiterungen). Bezüglich des Präprozessor-Verhaltens ist ANSI-/ISO-C voreingestellt. Mit der Option -K kr_cpp kann das Präprozessor-Verhalten auf K&R-C umgestellt werden (ggf. bei der Portierung von alten C-Quellen notwendig).
__STDC_VERSION__ ist undefiniert.  Die Option -X strict hat keinen Effekt, d.h. es gilt immer -X nostrict.

-X 17
-X 2017

C++ 2017-Modus

Diese Option ist nur im C++-Modus erlaubt. Der Compiler unterstützt C++-Code gemäß dem C++-Standard von 2017. Es steht die C++-Standard 2017-Bibliothek zur Verfügung.
__cplusplus hat den Wert 201703L und __STDC_VERSION__ den Wert 199409L.

-X 20
-X 2020

C++ 2020-Modus (Voreinstellung beim Compileraufruf mit CC oder Angabe von -X CC)

Diese Option ist nur im C++-Modus erlaubt. Der Compiler unterstützt C++-Code gemäß dem C++-Standard von 2020. Eine volle Unterstützung der C++ 2020-Bibliothek ist aktuell nicht verfügbar, statt dessen wird die existierende C++ 2017-Bibliothek verwendet.
__cplusplus hat den Wert 202002L und __STDC_VERSION__ den Wert 199409L.

-X V2-COMPATIBLE

-X v2-compatible

Cfront-C++ Modus
Diese Option ist nur im C++-Modus erlaubt. Dieser Modus wird aus Gründen der Kompatibilität angeboten und sollte nicht für Neuentwicklungen verwendet werden. Es werden die C++-Sprachmittel des Cfront V3.0.3 unterstützt. Cfront V3.0.3 wurde erstmals mit dem C++-Compiler V2.1 freigegeben. Es steht die Cfront-kompatible C++-Bibliothek für komplexe Mathematik und stromorientierte Ein-/Ausgabe zur Verfügung.
Zur Cfront-C++-Bibliothek siehe auch C/C++-Benutzerhandbuch [4].
C++-Quellen müssen mit -X v2-compatible übersetzt und gebunden werden, wenn die Objekte mit C++-V2.1/V2.2-Objekten verknüpfbar sein sollen.
Diese Angabe entspricht der Angabe -X d des C/C++ V3-Compilers.
_cplusplus hat den Wert 1 und __STDC_VERSION den Wert 199409L. Die Option -X strict hat keinen Effekt, d.h. es gilt immer -X nostrict.

-X V3-COMPATIBLE

-X v3-compatible

C++ V3- Modus

Diese Option ist nur im C++-Modus erlaubt. Der Compiler unterstützt C++-Code entsprechend dem C/C++ V3-Compiler. Die Angabe entspricht der Angabe -X w bzw. -X e des C/C++ V3-Compilers.

Folgende C++-Bibliotheken stehen zur Verfügung:

      • die Standard-C++-Bibliothek (Strings, Containers, Iterators, Algorithms, Numerics) inklusive der Cfront-kompatiblen Ein-/Ausgabe-Klassen

      • die C++-V3-Bibliothek Tools.h++

Zu den C++-Bibliotheken siehe auch C/C++-Benutzerhandbuch [4].

__cplusplus hat den Wert 2 (für -X nostrict) bzw. 199612L (für -X strict) und __STDC_VERSION den Wert 199409L.

-X strict

Strikter C- bzw. C++-Modus

Der Namensraum ist auf die im Standard definierten Namen beschränkt, und es stehen nur die im Standard definierten C- bzw. C++-Bibliotheksfunktionen zur Verfügung. Bestimmte Erweiterungen (wie das Schlüsselwort asm) und einige erwartete Prototyp-Deklarationen aus den Standard-Includes (stdio.h, stdlib.h etc.) sind nicht verfügbar.

Abweichungen vom Standard führen zu Compilermeldungen (zumeist Warnings). Durch Angabe der Option -R strict_errors (Siehe "Optionen zur Steuerung der Meldungsausgabe") kann im Falle von Standard-Abweichungen die Ausgabe von Errors erzwungen werden.
__STDC__ hat den Wert 1, _STRICT_STDC ist definiert.

-X nostrict

Erweiterter C- bzw. C++-Modus

Einige erforderliche Compilermeldungen entfallen, der Namensraum ist nicht auf Namen beschränkt, die vom Standard spezifiziert sind, und einige Erweiterungen sind enthalten.
__STDC__ hat den Wert 0, _STRICT_STDC ist nicht definiert.

-K library_version=n

-K library_version=high

Diese Option legt die Bibliotheks-Version für die Sprachmodi C++ 2017 und C++ 2020 fest.

Die Bibliotheks-Version beeinflusst die Quelle von Include-Dateien und Resolve-Bibliotheken. Bei Bibliotheks-Version 1 sind es /usr/include/CXX01 und SYSLNK.CRTE.CXX01, bei Bibliotheks-Version 2 sind es /usr/include/CXX02 und SYSLNK.CRTE.CXX02.

Zu Details siehe das C/C++ Benutzerhandbuch [4].