cpp/compiler support/vendors
来自cppreference.com
< cpp | compiler support
各编译器厂商的兼容性检查单文档
GCC (更新于 2023-12)
- C++11 核心语言支持状况(4.8.1 起完成,除了无编译器实现并于 C++23 移除的 N2670)
- C++14 核心语言支持状况(5.1 起完成)
- C++17 核心语言支持状况(7.1 起完成)
- C++20 核心语言支持状况(11.0 起除模块部分完成)
- C++23 核心语言支持状况
- C++11 库支持状况(5.1 起完成)
- C++14 库支持状况(5.1 起完成)
- C++17 库支持状况(12.0 起完成)
- C++20 库支持状况(14.0 起完成)
- C++23 库支持状况
- 技术规范支持状况
- 核心语言缺陷报告状况
Clang++ (更新于 2023-12)
- C++11 核心语言支持状况(3.3 起完成)
- C++11 库支持状况(2012-07-29 起完成)
- C++14 核心语言支持状况(3.4 起完成)
- C++14 库支持状况(3.5 起完成)
- C++17 核心语言支持状况(5.0 起完成)
- C++17 库支持状况
- C++20 核心语言支持状况
- C++20 库支持状况
- C++23 核心语言支持状况
- C++23 库支持状况
- C++26 核心语言支持状况
- C++26 库支持状况
- 技术规范支持状况
- 核心语言缺陷报告状况
Apple Clang (更新于 2023-12)
Microsoft Visual Studio (更新于 2023-09)
- 近期 Visual Studio 更改记录
- Visual Studio 2022 更改记录
- Visual Studio 2019 更改记录
- Visual Studio 2022 发行说明
- Visual Studio 2019 发行说明
- Visual Studio 2017 发行说明
- C++17/20 Visual Studio 2019 中的 C++17/20 功能特性和修正
- VS 2017 15.8 中的 STL 功能特性和修正
- C++17 宣告: MSVC 遵从 C++ 标准(15.7 起完成)
- C++17 VS 2017 15.5 中的功能特性及 STL 修正
- C++17 VS 2017 15.3 中的功能特性和 STL 修正
- C++11/C++14/C++17 VS2017.3 中的核心语言和库状况
- C++11/C++14/C++17 核心语言支持状况
- C++11 和 C++14 库支持状况
- C++11/14/17 VS 2015 RTM 中的功能特性,包括核心语言与标准库(包括技术规范)
- VS 2015 Update 2 标准库中的 C++14/17 功能特性 库对于当前 C++17 特性完整,有少量问题(一些缺陷报告、一些 constexpr 等)
- VS “15” 预览 5 中的 C++14/17 功能特性和 STL 修正,包括详细的 C++17 状况表格
Intel C++ (更新于 2023-01)
- C++11 核心语言支持状况(15.0 起完全支持)
- C++14 核心语言支持状况(17.0 起功能完整,N3664 是一项优化)
- C++17 核心语言支持状况(不完全支持)
- C++20 核心语言支持状况(不完全支持)
- Intel 19.0 beta 的 C++17 特性
- Intel 不提供 C++ 标准库的实现,除了
- 并行 STL(C++17 带执行策略支持的标准库算法的实现)
- Intel 与 GCC 的 libstdc++ 各版本间的兼容性
EDG (更新于 2022-03)
- C++11 核心语言支持状况
- C++14 核心语言支持状况
- C++17 核心语言支持状况
- C++20 核心语言支持状况
- C++23 核心语言支持状况
- EDG 不提供 C++ 标准库的实现
Oracle C++ (更新于 2017-07)
- 版本号为编译器版本而非 Oracle Studio 版本
- C++11 核心语言支持状况
- 5.14 中加入的 C++14 功能特性
- 5.15 中添加了完整 C++14 支持。
- Oracle 提供对标准库的四种不同实现:
- libCstd(RogueWave 标准库版本 2),早于 C++98
- stlport4(STLport 标准库版本 4.5.3),早于 C++03
- stdcxx4(Apache 标准库版本 4),早于 C++11
- libstdc++(GCC 运行时库,根据不同发布版本对 C++11 和 C++14 有所支持)
IBM XL C++ (updated 2018-05)
- IBM XL C++ for Linux
- 核心语言支持状况:13.1.6 起 C++11 完整,16.1.0 中部分 C++14
- IBM 在 Linux 上不提供 C++ 标准库实现(使用 GNU libstdc++)
- IBM XL C++ for AIX
- 核心语言支持状况:13.1.3 中部分支持 C++11。
- IBM 为 AIX 提供一个 Dinkumware 库的版本,带 C++ TR1 的完整支持,包括 <regex>,但不支持 C++11
- IBM XL C/C++ compilers features
HP aCC
- HP aC++ A.06.28 发行注记 (包括 C++11 核心语言功能特性)
- HP 提供了 RogueWave STL 2.0 对 C++98 标准库的实现的一个版本
Digital Mars C++
Embarcadero C++
- 语言功能特性遵从状况 (RAD Studio 10.1 Berlin),包括老式编译器与 Clang 增强编译器(基于 Clang 3.3)所支持的 C++11 功能特性
- 语言功能特性遵从状况 (RAD Studio 10.3 Rio),包括老式编译器所支持的 C++11 功能特性,和 Clang 增强编译器(基于 Clang 5.0)所支持的 C++11、C++14 及 C++17 功能特性
Cray (updated 2023-02)
- Cray C 与 C++ 参考手册 (8.4) 声称 8.4 版支持除 alignas 外的全部 C++14
- Cray C 与 C++ 参考手册 (8.6) 对于版本 8.6,声称支持全部 C++14
- Cray C 与 C++ 参考手册 (9.1) 对于版本 9.1 未声称 C++14 后的支持
- HPE Cray Clang C 与 C++ 速查参考 (14.0) (S-2179) 自 11 起的个版本(至少到 14)均基于 Clang,一般预期其具有相应的语言支持。涉及“不常见的”代码生成或连接行为的功能特性,诸如协程或模块,可能会有所缺落,因为编译器还要支持针对 GPU 和类似的其他首先设备生成代码。
Portland Group (PGI) (更新于 2019-01)
- 2016 版发行注记 声称支持 C++14,但不支持“推广的 constexpr 以及 constexpr 成员函数和隐含的 const、变量模板、澄清内存分配(分配的合并)”
- 2018 版发行注记
- PGI 19.1 参考手册
- PGI 不提供 C++ 标准库的实现
Nvidia Cuda nvcc (更新于 2023-01-12)
- CUDA CUDA C 编程手册 (v11.2.1)
- “ nvcc 版本 11.0 及之后的版本支持所有 C++17 语言功能特性,一些受到此处描述的限制。”
- NVCC 不提供 C++ 标准库的实现
Texas Instruments (更新于 2018-05)
- cl430 版本 v18.1.0 声称 C++14 支持
Analog Devices (更新于 2018-05)
- CrossCore Embedded Studio 2.8.0 for SHARC 声称 C++11 支持。