提问人:saimmm0710 提问时间:11/10/2023 最后编辑:Remy Lebeausaimmm0710 更新时间:11/12/2023 访问量:131
C++ Builder 12.0 是否支持 C++20 模块?
Does C++Builder 12.0 support C++20 modules?
问:
RAD Studio 12.0 已经发布,据说他们将 C++ Builder 升级到了 Clang 15,但我找不到 C++20 的模块功能,有什么解释吗?
答:
Clang 15 升级仅适用于 Windows 64 位预览编译器,不适用于 C++ Builder 的其余编译器,这些编译器仍基于 Clang 3.3 和 5.0。
根据 C++:Builder 12.0 的文档:
RAD Studio 提供以下 Clang 增强的 C++ 编译器:
编译器 平台 Clang 版本 LLVM 版本 密件抄送32C 32 位 Windows 5.0 5.0 密件抄送32X 32 位 Windows 5.0 5.0 密件抄送64 64 位 Windows 5.0 5.0 密件抄送64X 64 位 Windows 15.0 15.0 BCCIOSARM64 64 位 iOS 3.3 3.5 BCCAARM公司 人造人 3.3 3.3
也:
注意:C++2c 应该是 C++26。
注意:BCC64X 目前是预览版。以下状态是有抱负的,但未经测试,不能保证最终支持。BCC64X 使用 C++17 作为其默认语言级别,初始版本不计划支持更高的语言级别。要编译为 C++2c,请使用 运行 bcc64x。
-std=c++2c
注意:BCC64X 所基于的 Clang 版本及其使用的 C++ RTL 和 STL (libc+) 部分支持 C++23。我们希望 Clang 和 libc++ 在版本 15 及更早版本中支持的任何语言功能都能正常工作。但它不受支持,即使在预览所暗示的不受支持的级别也是如此。但是,BCC64X 编译器的预览版目前的目标是将 C++17 作为其语言标准。您可以使用更改目标语言合规性。
-std=c++23
注意:BCC64X 所基于的 Clang 版本及其使用的 C++ RTL 和 STL (libc++) 部分支持 C++20。我们希望 Clang 和 libc++ 在版本 15 及更早版本中支持的任何语言功能都能正常工作。但它不受支持,即使在预览所暗示的不受支持的级别也是如此。但是,BCC64X 编译器的预览版目前的目标是将 C++17 作为其语言标准。您可以使用更改目标语言合规性。
-std=c++20
文档中目前没有提到对 C++17 之后引入的特定功能的支持。
评论