cpp/compiler support/vendors
From cppreference.net
<
cpp
|
compiler support
Individuelle Anbieter-Kompatibilitätschecklisten
GCC (aktualisiert 2025-01)
- C++11 Core Language Support-Status (abgeschlossen ab 4.8.1, außer N2670 , das von keinem Compiler implementiert und in C++23 entfernt wurde)
- C++11 Library Support-Status (abgeschlossen ab 5.1)
- C++14 Core Language Support-Status (abgeschlossen ab 5.1)
- C++14 Library Support-Status (abgeschlossen ab 5.1)
- C++17 Core Language Support-Status (abgeschlossen ab 7.1)
- C++17 Library Support-Status (abgeschlossen ab 12.0)
- C++20 Core Language Support-Status (abgeschlossen ab 11.0, außer Teilen von Modulen)
- C++20 Library Support-Status (abgeschlossen ab 14.0)
- C++23 Core Language Support-Status
- C++23 Library Support-Status
- C++26 Core Language Support-Status
- Technical Specifications Support-Status
- Core Language Defect Report-Status
Clang (aktualisiert 2025-01)
- Echtzeit-libc++-Konformitätsstatus
- C++11-Kernsprachunterstützungsstatus (abgeschlossen ab 3.3)
- C++11-Bibliotheksunterstützungsstatus (abgeschlossen am 2012-07-29 )
- C++14-Kernsprachunterstützungsstatus (abgeschlossen ab 3.4)
- C++14-Bibliotheksunterstützungsstatus (abgeschlossen ab 3.5)
- C++17-Kernsprachunterstützungsstatus (abgeschlossen ab 5.0)
- C++17-Bibliotheksunterstützungsstatus
- C++20-Kernsprachunterstützungsstatus
- C++20-Bibliotheksunterstützungsstatus
- C++23-Kernsprachunterstützungsstatus
- C++23-Bibliotheksunterstützungsstatus
- C++26-Kernsprachunterstützungsstatus
- C++26-Bibliotheksunterstützungsstatus
- Technische-Spezifikationen-Unterstützungsstatus
- Kernsprach-Fehlerberichtsstatus
Apple Clang (aktualisiert 2025-01)
- Xcode-Toolchain-Versionen auf Wikipedia
- Xcode C++-Sprach- und C++-Standardbibliotheksunterstützung
- Xcode-Release-Notes
- C++20/23/26-Unterstützungsstatus in Xcode 16
Microsoft Visual Studio (aktualisiert 2025-02)
- Microsoft C/C++-Sprachkonformität (seit Visual Studio 2015)
- STL-Änderungsprotokoll (seit Visual Studio 2019 16.5)
-
Referenzen für nicht oben aufgeführte Funktionen
- Unterstützung für C++11/14/17-Funktionen (Modern C++) einschließlich C++11-Kernsprachfunktionen
- Neuerungen in Visual C++ 2003 bis 2015 einschließlich C++11 N1913
- C++14/17-Funktionen und STL-Korrekturen in VS "15" Preview 5 einschließlich C++14 LWG2112, LWG2246 und LWG2285 sowie C++17 LWG2296
- STL-Funktionen und -Korrekturen in VS 2017 15.8 einschließlich C++17 LWG2911
- C++-Konformitätsverbesserungen, Verhaltensänderungen und Fehlerbehebungen in Visual Studio 2022 einschließlich C++23 P2334R1
- CWG 2518 noch nicht implementiert - static_assert in nicht instanziiertem Template erzeugt Fehler einschließlich C++23 CWG2518
- MSVC-Compiler-Sprachupdates in Visual Studio 2022 Version 17.12 einschließlich C++23 P2128R6
- C++-Sprachupdates in MSVC in Visual Studio 2022 17.13 einschließlich C++23 P0330R8, P0847R7 und P2242R3
Intel C++ (aktualisiert 2023-01)
- C++11-Sprachkernunterstützungsstatus (vollständig ab Version 15.0)
- C++14-Sprachkernunterstützungsstatus (funktional vollständig ab 17.0 - N3664 ist eine Optimierung)
- C++17-Sprachkernunterstützungsstatus (unvollständig)
- C++20-Sprachkernunterstützungsstatus (unvollständig)
- C++17-Funktionen von Intel 19.0 Beta
-
Intel liefert keine Implementierung der C++-Standardbibliothek aus, außer für
- Parallel STL (eine Implementierung der C++17-Standardbibliotheksalgorithmen mit Unterstützung für Ausführungsrichtlinien)
- Intels Kompatibilität mit libstdc++-Versionen von GCC
EDG (aktualisiert 2025-01)
- C++11 Core Language Support Status
- C++14 Core Language Support Status
- C++17 Core Language Support Status
- C++20 Core Language Support Status
- C++23 Core Language Support Status
- C++26 Core Language Support Status
- EDG liefert keine Implementierung der C++-Standardbibliothek aus
Oracle C++ (aktualisiert 2017-07)
- Versionsnummer bezieht sich auf die Compiler-Version, nicht auf die Oracle Studio Version
- C++11 Core Language Support-Status in 5.13
-
C++14-Funktionen hinzugefügt in 5.14
- Vollständige C++14-Unterstützung hinzugefügt in 5.15.
-
Oracle liefert 4 Implementierungen der C++-Standardbibliothek:
- libCstd (RogueWave Standard Library Version 2), vor C++98
- stlport4 (STLport Standard Library Version 4.5.3), vor C++03
- stdcxx4 (Apache Standard Library Version 4), vor C++11
- libstdc++ (GCC-Laufzeitbibliothek, Unterstützung für C++11 und C++14 je nach Release)
IBM XL C++ (aktualisiert 2018-05)
-
IBM XL C++ für Linux
- Core language support status : C++11 vollständig ab 13.1.6, C++14 teilweise in 16.1.0
- IBM liefert keine Implementierung der C++-Standardbibliothek für Linux aus (verwendet GNU libstdc++)
-
IBM XL C++ für AIX
- Core language support status : C++11 teilweise in 13.1.3 und 16.1.0 (xlC Frontend), vollständig in 16.1.0 (xlclang Frontend)
- IBM liefert eine Version der Dinkumware-Bibliothek für AIX mit voller Unterstützung für C++ TR1, einschließlich <regex>, aber ohne C++11
- IBM XL C/C++ compilers features
HP aCC
- HP aC++ A.06.28 Release Notes (einschließlich C++11 Core Language Features)
- HP liefert eine Version der RogueWave STL 2.0 Implementierung der C++98 Standardbibliothek
Digital Mars C++
Embarcadero C++
- Sprachfunktionen-Konformitätsstatus (RAD Studio 10.1 Berlin), einschließlich C++11-Funktionen, die von Legacy- und Clang-verbesserten Compilern unterstützt werden (basierend auf Clang 3.3)
- Sprachfunktionen-Konformitätsstatus (RAD Studio 10.3 Rio), einschließlich C++11-Funktionen, die von Legacy-Compilern unterstützt werden, und C++11-, C++14- und C++17-Funktionen, die von den Clang-verbesserten Compilern unterstützt werden (basierend auf Clang 5.0)
Cray (aktualisiert 2023-02)
- Cray C and C++ Reference Manual (8.4) Für Version 8.4 wird behauptet, dass das gesamte C++14 unterstützt wird, außer alignas
- Cray C and C++ Reference Manual (8.6) Für Version 8.6 wird behauptet, dass das gesamte C++14 unterstützt wird
- Cray C and C++ Reference Manual (9.1) für Version 9.1 wird keine Unterstützung über C++14 hinaus behauptet
- HPE Cray Clang C and C++ Quick Reference (14.0) (S-2179) Versionen ab 11 (mindestens bis 14) basieren auf Clang und haben generell entsprechende Sprachunterstützung. Funktionen, die 'interessante' Codegenerierung oder Linker-Verhalten mit sich bringen, wie Coroutinen oder Module, können hinterherhinken, da der Compiler die Codegenerierung für GPUs und andere ähnlich eingeschränkte Geräte unterstützt
Portland Group (PGI) (aktualisiert 2019-01)
- Release Notes für 2016 behaupten C++14-Unterstützung, außer "generalized constexpr and constexpr member functions and implicit const, variable templates, clarifying memory allocation (merged allocation)"
- Release Notes für 2018
- Referenzhandbuch von PGI 19.1
- PGI liefert keine Implementierung der C++-Standardbibliothek mit
Nvidia Cuda nvcc (aktualisiert 2023-01-12)
- CUDA C++ Programming Guide (v12.0)
- Alle C++17-Sprachfunktionen werden in nvcc Version 11.0 und höher unterstützt, vorbehaltlich der Einschränkungen, die hier beschrieben sind
- Alle C++20-Sprachfunktionen werden in nvcc Version 12.0 und höher unterstützt, vorbehaltlich der Einschränkungen, die hier beschrieben sind
- NVCC liefert keine Implementierung der C++-Standardbibliothek aus
Texas Instruments (aktualisiert 2018-05)
- cl430 Version v18.1.0 beansprucht C++14-Unterstützung
Analog Devices (aktualisiert 2018-05)
- CrossCore Embedded Studio 2.8.0 für SHARC unterstützt C++11