Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Änderungen gegenüber dem Vorgängerhandbuch

&pagelevel(3)&pagelevel

Gegenüber C/C++ Version V4.0B03 haben sich einige wesentliche Punkte geändert.

Das switch-Statement akzeptiert jetzt eine Expression vom Typ long long.

Der Inhalt der ETR-Datei hat sich geändert. Der neue Inhalt kann nicht mit einem Compiler V4.0B03 oder älter genutzt werden.

Gegenüber C/C++ Version V4.0B00 haben sich einige wesentliche Punkte geändert.

Die Bibliothek für die Sprachmodi C++2017 und C++2020 wird jetzt in zwei Versionen angeboten. Die Version 1 ist der Default und kompatibel zur früheren Bibliothek. Die Version 2 implementiert einige Features des C++ 2020 Standards. Zu Details siehe das C/C++ Benutzerhandbuch [4].

Gegenüber C/C++ Version V4.0A30 haben sich einige wesentliche Punkte geändert.

Der Compiler unterstützt jetzt die Sprachfeatures des C++ 2020 Standards. Siehe das C/C++ Benutzerhandbuch [4] zu ein paar Einschränkungen. Eine volle Unterstützung der Bibliothek ist aktuell nicht verfügbar, statt dessen wird die existierende C++ 2017-Bibliothek verwendet.

Damit gibt es eine neue Option für diesen Sprachmodus. Die Voreinstellung beim Aufruf mit CC ist jetzt C++ 2020. Bis Version 4.0A30 war die Voreinstellung C++ 2017.

Es gibt jetzt eine Überprüfung, ob die Argumente bei einem printf-Aufruf mit den Angaben im Formatstring übereinstimmen (siehe __printf_args-Pragma und __scanf_args-Pragma im C/C++ Benutzerhandbuch [4]).

Gegenüber C/C++ Version V3.2D haben sich einige wesentliche Punkte geändert.

Die Änderungen des vorliegenden Handbuchs gegenüber dem Benutzerhandbuch zu C/C++ V3.2D betreffen im Wesentlichen die neuen Sprachmodi C11 und C++ 2017 sowie die darauf zurückzuführenden Änderungen von Compiler-Optionen.

Der wichtigste Punkt ist die Voreinstellung des Compilers. Wenn der Sprachmodus nicht explizit angegeben wird, nimmt er immer den modernsten realisierten Sprachstandard. Dies war bei der Version 3 der Fall und ist es jetzt auch. Bei der Version 3 war der (damals) modernste Standard C89. Jetzt unterstützt der Compiler C11 und dies ist auch die Voreinstellung. Bei C++ ist dies ähnlich. Die Version 3 hatte als (damals) modernsten Standard eine Vorabversion von C++98, der aktuelle Compiler unterstützt C++17.

Der neue Compiler unterstützt jetzt 10 Sprachmodi, je 5 für C und C++. Um diese Vielzahl besser zu handhaben, wurde die Syntax zur Angabe des Sprachmodus neu gestaltet. Die in der Version 3 gebräuchlichen Optionen werden weiterhin erkannt und auf neue Optionen abgebildet. Die Abbildung ist:

-X a

-X cc -X 1990 -X nostrict

-X c

-X cc -X 1990 -X strict

-X t

-X cc -X kr

-X w

-X CC -X V3 -X nostrict

-X e

-X CC -X V3 -X strict

-X d

-X CC -X V2

Mit der Unterstützung der neuen Sprachmodi wurde auch die Erkennung von fragwürdigen Source-Konstrukten überarbeitet. In manchen Situationen kommen jetzt andere Meldungen als bei C/C++ V3.2D. Dabei kann sich sowohl das Fehlergewicht, die Fehlernummer als auch der Text geändert haben. Es gibt ein paar Situationen, wo entweder C/C++ V3.2 eine Meldung bringt oder C/C++ V4.0, aber nicht beide.