cpp/compiler support/vendors
Von cppreference.com
< cpp | compiler support
[bearbeiten] Kompatibilitätschecklisten einzelner Anbieter
[bearbeiten] GCC (aktualisiert 2025-01)
- Status der C++11-Sprachunterstützung (vollständig ab 4.8.1, außer N2670, das von keinem Compiler implementiert und in C++23 entfernt wurde)
- Status der C++11-Bibliotheksunterstützung (vollständig ab 5.1)
- Status der C++14-Sprachunterstützung (vollständig ab 5.1)
- Status der C++14-Bibliotheksunterstützung (vollständig ab 5.1)
- Status der C++17-Sprachunterstützung (vollständig ab 7.1)
- Status der C++17-Bibliotheksunterstützung (vollständig ab 12.0)
- Status der C++20-Sprachunterstützung (vollständig ab 11.0, außer Teilen von Modulen)
- Status der C++20-Bibliotheksunterstützung (vollständig ab 14.0)
- Status der C++23-Sprachunterstützung
- Status der C++23-Bibliotheksunterstützung
- Status der C++26-Sprachunterstützung
- Status der Unterstützung technischer Spezifikationen
- Status von Fehlerberichten zur Kernsprache
[bearbeiten] Clang (aktualisiert 2025-01)
- Status der Konformität der Echtzeit-libc++
- Status der C++11-Sprachunterstützung (vollständig ab 3.3)
- Status der C++11-Bibliotheksunterstützung (vollständig ab 2012-07-29)
- Status der C++14-Sprachunterstützung (vollständig ab 3.4)
- Status der C++14-Bibliotheksunterstützung (vollständig ab 3.5)
- Status der C++17-Sprachunterstützung (vollständig ab 5.0)
- Status der C++17-Bibliotheksunterstützung
- Status der C++20-Sprachunterstützung
- Status der C++20-Bibliotheksunterstützung
- Status der C++23-Sprachunterstützung
- Status der C++23-Bibliotheksunterstützung
- Status der C++26-Sprachunterstützung
- Status der C++26-Bibliotheksunterstützung
- Status der Unterstützung technischer Spezifikationen
- Status von Fehlerberichten zur Kernsprache
[bearbeiten] Apple Clang (aktualisiert 2025-01)
- Wikipedia-Liste der Xcode-Toolchain-Versionen
- C++-Sprach- und C++-Standardbibliotheksunterstützung von Xcode
- Xcode Release Notes
- Status der C++20/23/26-Unterstützung in Xcode 16
[bearbeiten] Microsoft Visual Studio (aktualisiert 2025-02)
- Konformität der Microsoft C/C++-Sprache (seit Visual Studio 2015)
- STL-Änderungsprotokoll (seit Visual Studio 2019 16.5)
- Referenzen für oben nicht enthaltene Funktionen
- Unterstützung für C++11/14/17-Features (Modern C++) einschließlich C++11-Kernsprachenfeatures
- Visual C++: Was ist neu 2003 bis 2015, einschließlich C++11 N1913
- C++14/17-Features und STL-Korrekturen in VS „15“ Preview 5, einschließlich C++14 LWG2112, LWG2246 und LWG2285 und C++17 LWG2296
- STL-Features 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-Sprach-Updates in Visual Studio 2022 Version 17.12, einschließlich C++23 P2128R6
- C++-Sprach-Updates in MSVC in Visual Studio 2022 17.13, einschließlich C++23 P0330R8, P0847R7 und P2242R3
[bearbeiten] Intel C++ (aktualisiert 2023-01)
- Status der C++11-Sprachunterstützung (vollständig ab 15.0)
- Status der C++14-Sprachunterstützung (funktional vollständig ab 17.0 - N3664 ist eine Optimierung)
- Status der C++17-Sprachunterstützung (unvollständig)
- Status der C++20-Sprachunterstützung (unvollständig)
- C++17-Features von Intel 19.0 Beta
- Intel liefert keine Implementierung der C++-Standardbibliothek, außer
- Parallel STL (eine Implementierung der C++17-Standardbibliotheksalgorithmen mit Unterstützung für Ausführungsrichtlinien)
- Intels Kompatibilität mit libstdc++-Versionen von GCC
[bearbeiten] EDG (aktualisiert 2025-01)
- Status der C++11-Sprachunterstützung
- Status der C++14-Sprachunterstützung
- Status der C++17-Sprachunterstützung
- Status der C++20-Sprachunterstützung
- Status der C++23-Sprachunterstützung
- Status der C++26-Sprachunterstützung
- EDG liefert keine Implementierung der C++-Standardbibliothek
[bearbeiten] Oracle C++ (aktualisiert 2017-07)
- Versionsnummer ist Compiler-Version, nicht Oracle Studio-Version
- Status der C++11-Sprachunterstützung in 5.13
- C++14-Features wurden in 5.14 hinzugefügt
- Vollständige C++14-Unterstützung wurde in 5.15 hinzugefügt.
- 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 Version)
[bearbeiten] IBM XL C++ (aktualisiert 2018-05)
- IBM XL C++ für Linux
- Status der Kernsprachenunterstützung: 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 (verwendet GNU libstdc++)
- IBM XL C++ für AIX
- Status der Kernsprachenunterstützung: C++11 teilweise in 13.1.3 und 16.1.0 (xlC-Frontend), vollständig in 16.1.0 (xlclang-Frontend)
- IBM liefert für AIX eine Version der Dinkumware-Bibliothek mit vollständiger Unterstützung für C++ TR1, einschließlich <regex>, aber ohne C++11
- Features der IBM XL C/C++-Compiler
[bearbeiten] HP aCC
- Release Notes von HP aC++ A.06.28 (einschließlich C++11-Kernsprachenfeatures)
- HP liefert eine Version der RogueWave STL 2.0-Implementierung der C++98-Standardbibliothek
[bearbeiten] Digital Mars C++
[bearbeiten] Embarcadero C++
- Status der Konformität von Sprachfeatures (RAD Studio 10.1 Berlin), einschließlich C++11-Features, die von Legacy- und Clang-erweiterten Compilern unterstützt werden (basiert auf Clang 3.3)
- Status der Konformität von modernen Sprachfeatures (RAD Studio 10.3 Rio), einschließlich C++11-Features, die von Legacy-Compilern unterstützt werden, und C++11-, C++14- und C++17-Features, die von den Clang-erweiterten Compilern unterstützt werden (basiert auf Clang 5.0)
[bearbeiten] Cray (aktualisiert 2023-02)
- Cray C and C++ Reference Manual (8.4) Für Version 8.4 wird die Unterstützung für C++14 mit Ausnahme von alignas beansprucht
- Cray C and C++ Reference Manual (8.6) Für Version 8.6 wird die Unterstützung für C++14 beansprucht
- Cray C and C++ Reference Manual (9.1) für Version 9.1 beansprucht keine Unterstützung über C++14 hinaus
- HPE Cray Clang C und C++ Kurzanleitung (14.0) (S-2179) Versionen ab 11 (bis mindestens 14) basieren auf Clang und haben generell die entsprechende Sprachunterstützung. Features, die "interessante" Codeerstellungs- oder Verhaltensweisen wie Coroutinen oder Module beinhalten, können verzögert sein, da der Compiler die Codegenerierung für GPUs und andere ähnlich eingeschränkte Geräte unterstützt
[bearbeiten] Portland Group (PGI) (aktualisiert 2019-01)
- Release Notes für 2016 beanspruchen C++14-Unterstützung, außer "generalisierten constexpr und constexpr-Memberfunktionen und impliziten const, Variablentemplates, klarstellende Speicherallokation (verschmolzene Allokation)"
- Release Notes für 2018
- Referenzhandbuch von PGI 19.1
- PGI liefert keine Implementierung der C++-Standardbibliothek
[bearbeiten] Nvidia Cuda nvcc (aktualisiert 2023-01-12)
- CUDA C++ Programming Guide (v12.0)
- Alle C++17-Sprachfeatures werden in nvcc Version 11.0 und höher unterstützt, vorbehaltlich der Einschränkungen, die hier beschrieben sind
- Alle C++20-Sprachfeatures werden in nvcc Version 12.0 und höher unterstützt, vorbehaltlich der Einschränkungen, die hier beschrieben sind
- NVCC liefert keine C++-Standardbibliotheksimplementierung
[bearbeiten] Texas Instruments (aktualisiert 2018-05)
- cl430 Version v18.1.0 beansprucht C++14-Unterstützung
[bearbeiten] Analog Devices (aktualisiert 2018-05)
- CrossCore Embedded Studio 2.8.0 für SHARC beansprucht C++11-Unterstützung