RAD Studio 12.0已经发布了,据说他们将C++Builder升级到了Clang 15,但是我找不到C++20的模块功能,有什么解释吗?
Clang 15 升级仅适用于 Windows 64 位预览编译器,不适用于 C++Builder 的其余编译器,它们仍然基于 Clang 3.3 和 5.0(请参阅Clang 增强型 C++ 编译器)。
根据 C++Builder 12.0 的文档:
注意:C++2c 预计为 C++26。
注意:BCC64X 目前是预览版。以下状态是理想状态,但未经测试,并且不能保证最终支持。 BCC64X 使用 C++17 作为默认语言级别,初始版本不计划支持更高的语言级别。 要编译为 C++2c,请使用
运行 bcc64x。-std=c++2c
注意:BCC64X 所基于的 Clang 版本及其使用的 C++ RTL 和 STL (libc+) 部分支持 C++23。我们希望版本 15 及更早版本中 Clang 和 libc++ 支持的任何语言功能都能正常工作。但它不受支持,即使在预览版暗示的不支持级别也是如此。 但是,BCC64X 编译器的预览版目前瞄准 C++17 作为其语言标准。您可以使用
更改目标语言合规性。-std=c++23
注意:BCC64X 所基于的 Clang 版本及其使用的 C++ RTL 和 STL (libc++) 部分支持 C++20。我们希望版本 15 及更早版本中 Clang 和 libc++ 支持的任何语言功能都能正常工作。但它不受支持,即使在预览版暗示的不支持级别也是如此。 但是,BCC64X 编译器的预览版目前瞄准 C++17 作为其语言标准。您可以使用
更改目标语言合规性。-std=c++20
没有提及 C++20 及更高版本中引入的特定功能。