C++Builder 社区版现已更新至13版,符合条件的用户现在可以免费使用现代化的Win64工具链了。
该版本专为学生、编程爱好者、自由职业者以及符合社区版授权要求的小型团队设计。关于完整的适用资格和使用条款,请查阅相关的许可协议。
RAD Studio CE 将 Win64 Modern 编译器(bcc64x)从 Clang 15 升级到 Clang 20。这显著缩小了与上游 LLVM 之间的差距。Embarcadero 的 VCL/FMX 集成和特定平台补丁现在建立在了一个更接近整个 C++ 生态系统所测试的编译器的基础上——这在尝试构建一个假设使用最新标准 Clang 的第三方库时非常重要。
五次上游 Clang 版本发布将 15 升级至 20,其对诊断功能的累积影响十分显著:错误信息更加精确,模板实例化跟踪更容易阅读,并且默认情况下会触发更广泛的警告。总体而言,新的 Windows 64 位工具链使开源开发变得更加容易、更具可预测性,并在整个领域实现了更强的统一性。
C++Builder 13 中的新 Win64 现代项目默认使用 C++23。您可以在项目设置中切换到 C++17 或 C++20。Clang 20 具有相当全面的 C++23 语言支持——以下是具有最实际影响的特性:
推导 this (P0847) 允许你编写一个适用于 const 和非 const 访问,以及适用于 lvalue 和 rvalue 限定的单一成员函数:
|
1
2
3
4
|
struct Buffer {
template <typename Self>
auto& data(this Self&& self) { return self.m_data; }
};
|
CRTP 层次结构以前需要static_cast(*this)现在可以直接表达相同的内容。递归 lambda 也会变得自然。
[假设(expr)] 为优化器提供了一种声明前置条件的便携方式:
|
1
2
3
4
5
|
void process(int* p, int n) {
[[assume(n > 0)]];
[[assume(p != nullptr)]];
// ...
}
|
与__builtin_assume不同,这是标准的 C++23 并且在兼容的编译器上是可移植的。
范围内的生命周期延长-for (P2718) 修复了一个长期存在的未定义行为陷阱。在 C++23 之前,如果 getWidget() 返回一个临时对象:
|
1
|
for (auto& item : getWidget().items()) { ... }
|
临时对象在循环体执行前就被销毁了。C++23 扩展了在范围初始化器中创建的临时对象的生命周期,使其覆盖整个循环——原本静默失效的代码现在有了明确的定义。
静态 operator() (P1169) 和 静态 operator[] (P2589) —— 无状态函数对象和索引运算符不再需要隐式 this 参数,这使得编译器可以完全跳过无意义的指针参数。
if consteval (P1938) 提供了一种干净的方式,可以在编译时和运行时路径之间进行分支,而无需使用 if constexpr(std::is_constant_evaluated()) 变通方法。
RAD Studio 13 将调试器后端迁移至 LLDB 20。上游 LLDB 20 的发布说明文档中介绍了并行共享库解析功能——这显著缩短了大型项目的附加和启动时间——并修正了内联调用站点上的断点放置问题,此前版本会在这些位置静默地将断点移至下一个实际指令。
通过 Get 实现 CMake 支持,该功能在 C++Builder 12.2 中引入,并在 13 中得到延续和改进。设置方法:
set_embt_target( ...) – 支持单个项目中多个 CMake 目标。Clang 20 升级的实际收益在这里体现得最为直接:许多以前需要打补丁才能在 C++Builder 下编译的第三方库,现在无需修改即可正常工作。已确认可正常工作:
以及许多其他。
新的社区版保留了您喜爱的 VCL 和 FMX,并包含 RAD Studio 13 的所有新功能。请参阅 RAD Studio 发布说明以获取更多详细信息。
FireMonkey 是 C++Builder 开发者可用的两个应用程序框架之一。自 C++Builder 12.1 以来引入的更新包括:
TApplicationEvents和 TMaskEdit组件;C++Builder 13 为原生 Windows 应用程序的 VCL 开发带来了进一步的更新,包括:
TActionMainMenuBar内滚动;TEdgeBrowser;TControlList,TFormTabsBar,和TToggleSwitch。C++Builder IDE 现已成为原生 64 位应用程序,在处理大型项目和复杂开发环境时,可访问更多内存并提供更稳定的性能。
我们注意到一个影响 C++Builder 13 Community Edition 中 法语语言包 安装的问题。在问题解决之前,请 不要选择或安装法语语言支持,因为这可能会导致安装失败。我们正在努力修复此问题。
C++ Builder 社区版专为以下人群设计:
C++ Builder Community Edition 免费提供,采用一年期许可,允许有限的商业用途。对于不确定其资格的开发者,请参阅 Community Edition 许可常见问题解答。
社区版并非旨在作为长期试用版,不应由已持有标准商业版 C++Builder 许可证的组织使用。
当项目、团队或业务超出社区版限制时,C++Builder Professional、Enterprise 和 Architect提供无限制的商业许可和更广泛的开发功能。
C++Builder 13 CE 将佛罗伦萨工具链带给了社区版用户,使符合条件的开发者能够使用商业版中引入的相同现代 C++ 基础。
展望未来,RAD Studio 13.2 将继续在付费版本中提升 C++ 的生产力,其中包含旨在让全天工作更顺畅的体验优化。随着发布临近,请继续关注更多信息。
上一篇 :上一篇:Delphi 13社区版现已发布
下一篇 :下一篇:没有了