開始使用 Arm64EC

若要開始使用 Arm64EC 建置應用程式或專案,您必須安裝一些必要條件並新增 Arm64EC 組態。

必要條件

  • 最新的 Windows 11 SDK 組建。 如果使用 Windows 11 SDK 版本 22000,在 2022 年 7 月 29 日更新的版本會包含建置 Arm64EC 應用程式的重要修正程式。
  • Visual Studio 2022 17.3 版或更新版本。
  • 隨 Visual Studio 安裝程式一起安裝的 Arm64EC 工具。

在 Visual Studio 安裝程式 中,您可以在 [個別元件] 下搜尋並選取 [MSVC v143 - VS 2022 C++ ARM64 建置工具] 核取方塊來新增 Arm64EC 工具。

Visual Studio 安裝程式 Arm64EC 複選框螢幕快照

重要

自 Visual Studio 2022 版本 17.4 起,安裝 Arm64 工具時會包含 Arm64EC 工具 (MSVC v143 - VS 2022 C++ ARM64 建置工具)。 您不再需要為 Arm64EC 工具選取個別選項。

安裝必要條件和工具後,就可以在 MSBuild 和 CMake 專案中將 Arm64EC 設為目標。

MSBuild 專案

  1. 安裝工具和 SDK 後,請建立新的 C++ 專案,或開啟現有專案。

    注意

    如果您的專案使用 Windows 11 SDK 或 VS 17.3 之前的 MSVC 版本,您必須將解決方案重設為目標,如此才能使用每個版本的最新版本。

  2. 若要新增 Arm64EC 平台:

    • 在 [建置] 功能表中,選取 [組態管理員]
    • 在 [作用中解決方案平台] 方塊中,選取 <New…> 以建立新的平台。
    • 選取 ARM64EC,從 x64 複製設定,然後核取 [建立新專案平台] 核取方塊。

    Visual Studio 安裝程式 新的Arm64EC平台螢幕快照

    您可以視需要選擇將解決方案的某些部分保留為 x64。 不過,建置為 Arm64EC 的程式碼越多,在 Arm 上的 Windows 11 上執行原生效能的程式碼就越多。 針對任何外部相依性,請確定您的專案會對這些專案的 x64 或 Arm64EC 版本進行連結。

  3. 在新解決方案平台就緒並加以選取,選擇取在 Visual Studio 中 [建置] 以開始建置 Arm64EC 二進位檔。

根據設計,不見得 Arm64EC 解決方案中的所有專案都需要將 Arm64EC 設為目標,因為它們可以將目標改設為 x64。 針對想要保留為 x64 的任何這類專案,請確定您在組態管理員中將這些專案設為在 ARM64EC 解決方案組建下以 x64 為目標。

CMake 專案

  1. 開啟您的 "C++ CMake" 專案,或建立新專案。

  2. 移至作用中組態下拉式清單,然後選取 [管理組態],以開啟 CMakePresets.json 檔案。

  3. 修改您想要用於 Arm64EC 之 Windows 組態下的架構屬性。

     "architecture": { 
        "value": "arm64ec", 
        "strategy": "external"
     }
    

    預設產生器為 Ninja。 如果使用 Visual Studio 產生器,請變更要設定的策略欄位。

  4. 如果使用 Ninja 產生器,您也必須將環境物件新增至 CMakePresets 組態來設定一些環境變數。

     "environment": { 
        "CXXFLAGS": "/arm64EC",
        "CFLAGS": "/arm64EC" 
     }
    
  5. 儲存 CMakePresets 檔案,並確定作用中的組態已設定為 Arm64EC 組態。 從功能表列選取專案功能表,然後選取設定 [專案名稱] 以產生 CMake 快取。

  6. 瀏覽至 [建置] 功能表,然後選取 [全部建置] 來建置以 Arm64EC 為目標的 CMake 專案,就像其他任何 CMake 專案一樣。

開發人員命令提示字元

如果您想要使用 Visual Studio 開發人員命令提示字元來編譯和連結 Arm64EC 的來源檔案,您需要使用 Arm64 開發人員命令提示字元,然後個別執行 cllink 命令。 使用 cl/arm64EC 參數和 link/MACHINE:ARM64EC 參數來建置和連結 Arm64EC 程式碼。

cl /arm64EC /c <args>

link /MACHINE:ARM64EC <args>

深入了解如何從命令列使用 Microsoft C++ 工具組