Arm 上的 Windows

Windows 傳統上在由 x86/x64 處理器提供支援的電腦上執行,但最近也會在由 Arm 處理器提供支援的裝置上執行。

Arm 支援的裝置特別有趣,因為 Arm 架構的節電本質可讓這些裝置提供較長的電池使用時間,同時提供絕佳的效能。 晶片上的 Arm 系統 (SoC) 通常包含其他重要功能,例如強大的 CPU、GPU、Wi-Fi 和行動數據網路,以及加速 AI 工作負載的神經處理器單元 (NPU)。

建置在 Arm 上執行的 Windows 應用程式

Windows 10 可讓現有的未修改 x86 應用程式在 Arm 裝置上執行。 Windows 11 新增在 Arm 裝置上執行未修改 x64 Windows 應用程式的功能! 讓使用者具有在 Arm 裝置上執行 x86 和 x64 應用程式的能力,即使大部分現有應用程式和工具都在新的 Arm 裝置上,也能順利執行。

為了獲得最佳效能、回應能力和電池續航力,使用者需要擁有 Arm 原生 Windows 應用程式,這表示開發人員需要建置或移植 Arm 原生 Windows 應用程式。

Arm 開發人員工具

Microsoft 致力於提供包含 Arm 原生 Visual Studio 2022、VSCode、VC++ 工具鏈、傳統 .NET Framework、新式 .NET 和 Java 的 Arm 原生開發人員工具組。 Microsoft 也與數個第三方和開放原始碼社群合作,將通用工具、執行階段、架構和程式庫移植到原生目標為 Arm 上的 Windows。 請參閱 Build 2022 的公告,了解這個完整的工具、服務和裝置套件,讓開發人員能夠建置和移植原生目標 Arm 的應用程式,就像以 x64 為目標一樣簡單。

虛擬機器

您可以使用 Azure 上的 Ampere Altra Arm 型處理器建立及部署 Windows 11 Arm64 VM。 在這篇快速入門文章中了解運作方式。

深入了解如何在 Arm 虛擬機器上使用 Windows:

Arm 開發人員裝置

開發人員需要用來建置及測試 Arm 原生 Windows 應用程式的 Arm 裝置。 Microsoft 合作夥伴已經提供數個 Arm 支援的裝置。 無論是膝上型外形規格裝置或是可轉換平板電腦,這些可攜式裝置都提供絕佳的效能、電池續航力,以及執行不斷擴增的 Arm 原生開發人員工具陣列。

Windows Dev Kit 2023 (程式碼名稱 “Project Volterra”) 是專為支援 Windows 開發人員、AI 研究人員和開發人員打造的最新 Arm 裝置,希望將 AI 整合到他們的應用程式和體驗中。

Arm64EC - Arm 上適用於 Windows 11 的組建應用程式

Arm64EC graphic.

Arm64EC (「模擬相容」) 可讓您以增量方式建置新的應用程式,或移植現有的應用程式,以充分利用原生 Arm 效能,同時利用現有的 x64 程式碼和程式庫,直到完全遷移為止。 深入了解:

支援 Arm 上現有的 Windows 應用程式

App Types graphic.

Arm 上的 Windows 會執行原生 Arm 應用程式,以及許多未修改的 x86 和 x64 應用程式,但為了達到最佳效能和電池續航力,應用程式應盡可能建置為 Arm 原生應用程式。 Windows 應用程式可以利用許多不同的工具和技術來建置,包括原生 C/C++ Win32 應用程式、傳統 .NET Framework WinForms/WPF 應用程式、新式 .NET 或 MAUI 應用程式,甚至是使用 Java、Python、節點等建置的應用程式。

尋找適用於 Arm 開發的工具

Tools graphic

Windows 提供各種工具和架構,可在 Arm 上支援 Arm 應用程式開發。

注意

我們針對在 Arm64 上執行 Windows 桌面版本的電腦 (也稱為 AArch64) 處理器,以簡寫 Arm 來表示。 我們在這裡使用 Arm32 做為 32 位元 Arm 架構的簡寫 (在其他文件中通常稱為 Arm)。 由 Arm 支援的電腦也提供絕佳的應用程式相容性,並可讓您執行現有的未修改 x86 win32 應用程式而無需修改。 Arm 應用程式以原生方式執行,而沒有任何模擬,而 x86 和 x64 應用程式則以模擬方式在 Arm 裝置上執行。

開發在 Arm 裝置上執行的 Windows 應用程式的其他秘訣

  • 建議使用 MSIX 來封裝您的應用程式以進行分發。 如需有關 MSIX 如何支援 Arm 和 Arm64 的詳細資訊,請參閱應用程式套件架構:Arm 和 Arm64

  • 並非所有 Visual Studio 專案都會設定為在您從 Arm 裝置啟動偵錯 (F5) 時,於本機啟動專案。 即使您的應用程式是在本機執行,您仍可能需要設定 Visual Studio 進行遠端偵錯。 如需詳細資訊,請參閱 [遠端偵錯]

  • 若要在 Visual Studio 上尋找並安裝建議的套件,請瀏覽 Visual Studio 下載頁面

    • Visual Studio 2022 的遠端工具,捲動至 [所有下載] 區段下方,然後展開 [Visual Studio 2022 的工具] 下拉式功能表。 Visual Studio 2022 的遠端工具將會列出。 請務必勾選 Arm64 選項按鈕,然後按 [下載]。
    • 若為 Microsoft C++ 可轉散發套件,請捲動至 [所有下載] 區段下方,然後展開 [其他工具和架構] 下拉式功能表。 適用於 Visual Studio 2022 的 Microsoft C++ 可轉散發套件 將會列出。 請務必勾選 Arm64 選項按鈕,然後按 [下載]。
    • 如果使用舊版的 Visual Studio,請選取頁面底部的 [舊版下載] 連結,以搜尋與您 Visual Studio 版本相關聯的下載。
  • 當使用者從 Microsoft Store 將您的應用程式安裝在 Arm 裝置上時,Windows 11 會自動選取可用的應用程式最佳版本。 如果您將 x86、Arm32 和 Arm64 版本的應用程式提交至 Microsoft Store,作業系統會自動安裝應用程式的 Arm64 版本。 如果您只提交應用程式的 x86 和 Arm32 版本,則作業系統會安裝 Arm32 版本。 如果您只提交應用程式的 x86 版本,作業系統會安裝該版本,並在模擬下執行。

  • 當指定應用程式架構的選擇項目時,請選擇 32 位元 x86 版本,以在 Arm 電腦上的 Windows 上執行應用程式的 32 位元版本。 如果應用程式的 x64 Win32 版本無法運作,大部分的應用程式都有可用的 x86 版本。

  • 如需架構的詳細資訊,請參閱應用程式套件架構

用程式保證 Arm 諮詢服務

我們在指引將 Arm 支援新增至 Windows 應用程式時,會逐步引導您建立應用程式的 Arm 最佳化版本。 如果您遇到停滯狀態,應用程式保證 Arm 諮詢服務可助您一臂之力。 這項服務是對我們現有承諾的補充:您的應用程式將會在 Arm 上的 Windows 上執行,如果您遇到任何問題,Microsoft 將會協助補救。 深入了解

註冊 Windows Arm Advisory Service

其他資源

外部資源