ARM64EC:在ARM上为Windows 11构建本机和可互操作的应用程序

2021-06-29 23:04:42

今天,我们宣布ARM64EC(“仿真兼容”),这是一个新的途径,用于在ARM上构建Windows 11的应用程序。使用预览和Windows 11 Insider SDK中的最新Visual Studio工具,您将能够利用ARM64EC来逐步过渡,以便在ARM上使用本机速度运行,即使您有不支持的依赖项或插件胳膊呢。

ARM64EC是一个新的应用程序二进制接口(ABI),适用于具有本机速度的ARM上的Windows 11,并使用x64互操作。应用程序,过程,甚至模块可以根据需要自由混合和匹配ARM64EC和X64。应用程序中的ARM64EC代码将自然运行,而任何X64代码将在ARM内置仿真上使用Windows 11运行。

ARM64EC ABI以现有的ARM64 ABI与现有的ARM64 ABI略微不同,使其与X64代码兼容。具体而言,ARM64EC ABI遵循X64软件约定,包括呼叫惯例,堆栈使用和数据对齐,使ARM64EC和X64可互操作。作为ARM64EC构建的应用可能包含X64代码,但不必,因为ARM64EC是它自己的完整,For Windows的一流ABI。

传统上,重建ARM的应用程序意味着重新编译整个应用程序。结果是解锁ARM设备的全功率的客户的大量原生体验。但是,从开发人员的角度来看,移植应用程序可以全部或全无,因为在客户可以看到益处之前需要重建过程中的所有二进制文件。

使用ARM64EC,您可以选择逐步启动小并构建。您可以识别代码库的一部分,这些部分将从本机性能中受益,并将其重建为ARM64EC。该应用的其余部分将保持完全正常的X64,但重新编译的ARM64EC部件现在将具有本机速度。随着时间的推移,您可以将更多应用程序重新编译为ARM64EC,以进一步提高应用程序客户的性能并节省电池寿命。

混合和匹配X64和ARM64EC的能力使得可以在手臂上为Windows 11构建应用程序,即使它取决于控制之外的X64代码。具有不支持ARM的第三方依赖项的项目可以将它们留为x64。和in-proc插件生态系统的应用程序可以构建为ARM64EC以获得本机速度,同时继续加载和使用X64插件。

我们受到ARM64EC的潜力和兴奋的推动,以查看应用程序开发人员可以使用这项技术在ARM上为Windows 11构建。在内部,我们通过ARM64EC重建了ARM操作系统本身的Windows 11的二进制文件,以便X64应用程序加载的任何系统代码都以本机速度运行。此外,Office团队在即将到来的64位Office for Arm中使用ARM64EC,以便现有的X64插件无缝工作。

您可以通过下载最新的Windows Insider SDK和Visual Studio预览,然后按照Docs.microsoft.com上的步骤添加ARM64EC来开始ARM64EC。添加ARM64EC配置。 期待着,我们将更多地分享,因为我们更详细地通过了如何利用您在应用程序中的ARM64EC。