Namensräume
Varianten
Aktionen

C-Compiler-Unterstützung

Von cppreference.com
< c

Inhalt

[bearbeiten] C23-Funktionen

Beachten Sie, dass sich diese Liste ändern kann, da sich der Entwurf des C23/2x-Standards weiterentwickelt.

[bearbeiten] C23 Kernsprachenfunktionen

C23-Funktion

 
Papier(e)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehem. PGI)*
Nvidia nvcc
Cray
static_assert ohne Meldung N2265 9 9 Ja Ja 6.5 2021.1.2 (clang-basiert)
[[nodiscard]] N2267 10 9 Ja 6.4 2021.1.2 (clang-basiert)
[[maybe_unused]] N2270 10 9 Ja 6.4 2021.1.2 (clang-basiert)
[[deprecated]] N2334 10 9 Ja 6.4 2021.1.2 (clang-basiert)
Attribute N2335
N2554
10 9 Ja 6.4 2021.1.2 (clang-basiert)
IEEE 754 dezimale Gleitkommatypen N2341 4.2 (teilweise)*
12
13.0 (teilweise)*
[[fallthrough]] N2408 10 9 Ja 6.4 2021.1.2 (clang-basiert)
u8-Zeichenkonstanten N2418 10 15 6.5 2022.2
Entfernung von Funktionsdefinitionen ohne Prototyp N2432 10 15 2022.2
[[nodiscard]] mit Meldung N2448 11 10 Ja 6.4 2021.1.2 (clang-basiert)
Unbenannte Parameter in Funktionsdefinitionen N2480 11 11 Ja 6.4 2021.1.2 (clang-basiert)
Labels vor Deklarationen und Ende von Blöcken N2508 11 16 Teilweise* 6.5 17.0*
Binäre Ganzzahlkonstanten N2549 4.3*
11
2.9*
9
19.0 (2015)** Ja 6.5 11.0*
__has_c_attribute in Präprozessor-Konditionalen N2553 11 9 Ja 6.5 2021.1.2 (clang-basiert)
Zulassen doppelter Attribute N2557 11 13 Ja 6.5 2021.4 (clang-basiert
IEEE 754 Interchange- und erweiterte Typen N2601 7 (teilweise)*
14
6 (teilweise)* Teilweise*
Zifferntrenner N2626 12 13 19.0 (2015)** Ja 6.5 18.0*
#elifdef und #elifndef N2645 12 13 19.40* 13.1.6* 6.5 2021.4
Typänderung von u8-String-Literalen N2653 13
[[maybe_unused]] für Labels N2662 11 16 6.5 2022.2
#warning N2686 Ja Ja Ja 6.5 Ja
Bitgenaue Ganzzahltypen (_BitInt) N2763 14 (teilweise)* 15 6.5 2022.2
[[noreturn]] N2764 13 15 6.5 2022.2
Suffixe für bitgenaue Ganzzahlkonstanten N2775 14 15 2022.2
__has_include in Präprozessor-Konditionalen N2799 5 Ja 19.11* Ja 6.5 18.0
Identifier-Syntax unter Verwendung von Unicode Standard Annex 31 N2836 13 15 6.5 2022.2
Entfernung von Funktionsdeklarationen ohne Prototyp N2841 13 15 2022.2
Leere Initialisierer N2900 Teilweise*
13
Teilweise* Teilweise* Teilweise* Teilweise*
typeof und typeof_unqual N2927
N2930
Teilweise*
13
Teilweise*
16
19.39* Teilweise* Teilweise* Teilweise* Teilweise*
Neue Schreibweise von Schlüsselwörtern N2934 13 16 6.5
Vordefinierte true und false Boolesche Konstanten N2935 13 15 2022.2
[[unsequenced]] und [[reproducible]] N2956 15
Gelockerte Anforderungen für variablen Parameterlisten N2975 13 16 6.5 2023.1
Typinferenz bei Objektdefinitionen N3007 13 18
#embed N3017 15 19
constexpr-Objekte N3018 13 19
Verbesserte Standard-Enumerationen N3029 13 20*
Enumerationen mit festen zugrunde liegenden Typen N3030 13 20*
__VA_OPT__ N3033 8
13
12 19.39* 6.5
Speicherklassen-Spezifizierer für zusammengesetzte Literale N3038 13
nullptr N3042 13 16
 

C23-Funktion
 

Papier(e)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehem. PGI)*
Nvidia nvcc
Cray

[bearbeiten] C23 Bibliotheksfunktionen

[bearbeiten] C99-Funktionen

[bearbeiten] C99 Kernsprachfunktionen

C99-Funktion

 
Papier(e)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehem. PGI)*
Nvidia nvcc
Cray
Universal-Zeichennamen in Bezeichnern 3.1 Ja Ja
Erhöhte Übersetzungsgrenzwerte N590 0.9 N/A
// Kommentare N644 2.7 Ja Ja
restrict-Zeiger N448 2.95 Ja partiell*
Erweiterte arithmetische Typen N815
N601
N620
N638
N657
N694
N809
Ja partiell Vielleicht
Flexible Array-Member 3.0 Ja Ja
Variable-Längen-Array (VLA)-Typen N683 0.9 Ja
Variabel modifizierte (VM) Typen N2778 N/A Ja
Bezeichner-Initialisierer N494 3.0 Ja Ja
Nicht-konstante Initialisierer 1.21 N/A
Idempotente cvr-Qualifizierer N505 3.0 N/A
Nachgestelltes Komma in Enumeratorliste 0.9 Ja Ja
Hexadezimale Gleitkommakonstanten N308 2.8 Ja Ja
Compound-Literale N716 3.1 Ja Ja
Gleitkomma-Umgebung partiell partiell
Erforderliche Trunkierung für Divisionen von vorzeichenbehafteten Ganzzahltypen N617 0.9 N/A
Implizites return 0; in der main()-Funktion Ja Ja Ja
Deklarationen und Anweisungen in gemischter Reihenfolge N740 3.0 Ja Ja
init-statement in for-Schleifen Ja Ja Ja
inline-Funktionen N741 4.3 Ja Ja
Vordefinierte Variable __func__ N611 2.95 Ja Ja
Cvr-Qualifizierer und static in [] innerhalb von Funktionsdeklarationen 3.1 Ja
Variadische Makros N707 2.95 Ja Ja
_Pragma-Präprozessoroperator N634 3.0 Ja partiell*
Standard-Pragmas für die Auswertung von Gleitkommazahlen N631
N696
Nein Nein
 

C99-Funktion
 

Papier(e)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ehem. PGI)*
Nvidia nvcc
Cray


[bearbeiten] Siehe auch

C++-Dokumentation für Compiler-Unterstützung