即将在RAD Studio 13.2中推出: 面向Linux Intel 64位平台的新一代Delphi开发
发布日期:2026-08-28来源: 返回列表 >>

即将在RAD Studio 13.2中推出:

面向Linux Intel 64位平台的新一代Delphi开发

 

在Embarcadero,我们正在对面向Linux Intel 64位平台的Delphi编译器进行重大升级。当前的编译器基于多年前发布的LLVM 3.3版本。而全新的编译器将升级至LLVM 20.1版本,并且采用我们在RAD Studio 13.1中为Windows Arm64EC平台上的Delphi所引入的通用编译器后端。

 

这项工作即将完成,预计将在下一个版本中发布,它并非对内部组件的简单更新。跨越如此多的LLVM版本需要对编译器前端、生成的中间表示、异常处理、链接以及调试信息进行修改。其结果是得到了一个更新得多的Linux工具链,更重要的是,我们可以通过稳步采用较新的LLVM版本,持续对其进行改进。

虽然我们专注于 Linux Web 服务器和 Web 服务,但新的编译器也将通过 FMXLinux 支持 Linux 客户端应用程序的开发。内容速览→

 

一个新的后端和链接器

重构后的编译器使用 LLVM 的 LLD 链接器的定制版本,取代了 GNU gold 链接器。它还生成 DWARF 5 调试信息,而非 DWARF 2。我们已在编译器前端进行了相应修改,以便调试器能获得关于源代码位置、变量和 Delphi 类型的更详细信息。

Delphi Linux 编译器将同时提供 32 位和 64 位可执行文件。实际上,这意味着您可以使用 64 位 RAD Studio IDE 直接构建 Linux Intel 64 位应用程序,以及 Win64 和 Windows Arm64EC 项目。不过,您也可以继续使用 32 位 IDE。64 位版本移除了 32 位进程在编译器和 IDE 上的地址空间限制,从而支持更大的项目。

在 64 位 IDE 中为 Delphi 应用程序添加 Linux 64 位目标平台

优化后的 Linux 应用程序

这项编译器工作还使我们能够利用最新的 LLVM 优化。旧编译器使用 LLVM 进行代码生成,但无法将 Delphi 代码传递给较新的 LLVM 中间表示优化器。我们已经更改了前端,包括对 Delphi 异常的处理,因此这些优化现在可以应用于 Release 构建。

在我们的内部测试中,运行在两到四倍速度之间的许多小型基准测试,以及少数特定案例显示出更大的改进。当然,基准测试并非应用程序,结果会因代码而异。尽管如此,这是从您当前用于 Linux 应用程序的 Delphi 源代码(在大多数情况下也是您可用于 Windows 目标的代码)生成的代码。 

内存管理与 Linux 基础

研发团队还将 rpmalloc 作为 Linux Intel 64 位系统的可选内存管理器提供。当大量线程同时分配内存时,它表现尤为出色。虽然其性能提升显著,但它并非适用于所有应用程序的万能解决方案,因为它通常会占用更多内存,并且无法像 Delphi 的传统内存管理器那样提供相同的内存泄漏报告功能。

更新后的工具链使用 glibc 2.31 作为其运行时基线。因此,使用该工具链生成的应用程序预计无法在较旧的 Linux 发行版上运行(例如发布于 2020 年的 Ubuntu 20.04 之前的版本)。

新的德尔菲 Linux

我们的计划是让新的 Linux 编译器完全取代现有的编译器。目前仍在进行工作和测试,但我个人对 Delphi 中重构的 Linux 平台支持非常满意,而且测试人员也对它给予了积极的反馈。顺便提一下,请注意,Delphi Linux 编译器将仅在 Delphi 和 RAD Studio 的 Enterprise 和 Architect 版本中提供。

13.2 版本还有更多内容。我计划在另一篇博客文章中介绍一些共享的 LLVM-20 编译器改进。敬请期待。

功能预览:本文基于 RAD Studio 软件的预发布版本撰写,并经 Embarcadero 专门授权。在产品正式发布前,任何功能均未最终确定。

 

详细内容请参考:Coming in RAD Studio 13.2: A New Generation of Delphi Development for Linux Intel 64-bit

 

0.774558s