ARM|Visual Studio新增对ARM64EC的支持

ARM|Visual Studio新增对ARM64EC的支持



ARM|Visual Studio新增对ARM64EC的支持



ARM|Visual Studio新增对ARM64EC的支持



【ARM|Visual Studio新增对ARM64EC的支持】ARM|Visual Studio新增对ARM64EC的支持



ARM|Visual Studio新增对ARM64EC的支持



ARM|Visual Studio新增对ARM64EC的支持



ARM|Visual Studio新增对ARM64EC的支持

ARM64EC(“Emulation Compatible”)是一种新的应用程序二进制接口(ABI) , 旨在用来在ARM平台为Windows 11编写应用程序 。 有了ARM64EC , 你可以构建能够在ARM平台上运行的Native应用 , 也可以将现有的x64应用程序以增量化的方式迁移到ARM平台 。
为什么开发者需要面向ARM64EC?基于ARM平台所构建的应用程序 , 可以在对应的ARM设备上获取到完整的本机体验 。 但是 , 从开发者角度来说 , 将一个应用程序迁移到ARM平台不是一件容易的事情 , 因为只有将应用程序进程中的所有二进制组件都重新面向ARM平台编译一次 , 用户才能够享受到上述的本机体验 。
有了ARM64EC , 开发者可以将一个很小的代码工程作为起点 , 然后不断添加新的代码并进行增量编译 。 当你确认了代码中那些对性能影响最为深远的部分之后 , 你就可以将它们简单地编译为ARM64EC 。 应用程序剩余的部分可以继续保留为模拟x64模式 , 而重新以ARM64EC编译的代码部分将以本机代码执行 。
另外 , 将x64和ARM64EC这两种代码混合并协同工作 , 实现了即使应用程序中的x64代码部分位于你无法控制的第三方代码库 , 也可以构建一个能在ARM平台上运行的应用程序 。
举个例子 , 如果你的应用程序使用到了一些无法支持ARM平台的第三方库 , 没有关系 , 这些第三方库依然可以保留为x64模式 。 同时 , 进程内插件式应用程序中以ARM64EC编译的部分将以本机代码模式运行 , 而x64的插件将继续被加载和正常工作 。
如何在Visual Studio中面向ARM64EC编译如果需要在Visual Studio中将你的工程编译为ARM64EC , 则你需要安装如下必要项目:
> 最新版本的Windows Insider SDK , 这可以通过Windows Insider程序获得 。
> 最新版本的Visual Studio 2019 预览版或者Visual Studio 2022预览版 。
> 位于Visual Studio 安装程序中的ARM64EC工具 。

安装好上述的必要项目之后 , 你就可以在MSBuild工程和CMake工程中将代码面向ARM64EC来编译了 。
对于MSBuild工程先在Visual Studio中打开C++工程或者C++解决方案 。 如果你想新建一个全新工程 , 可以选择:[Create a new project
> [C++ Console App
, 如下图所示:

通过工具栏的[build
> [configuration manager
, 打开配置管理器 , 如下图所示:

在当前解决方案平台下拉列表中 , 选择来创建一个新的目标平台 , 如下图所示:

选择ARM64EC , 并从x64配置中拷贝所有配置 , 然后勾选[Create new project platforms
勾选框 , 并点击[OK
按钮 , 如下图所示: