微軟推出構建Arm裝置上Windows 11應用程式的新方法ARM64EC,開發者可以下載最新的Visual Studio預覽版,以及Windows 11 Insider SDK,開始以ARM64EC將應用程式轉換到Arm裝置上,讓應用程式以原生速度運作。ARM64EC的優點在於,即便應用程式的相依項目或是套件不支援Arm,應用程式仍可以順利地移植到Arm裝置上。
ARM64EC是一種適用於ARM上Windows 11的應用二進位介面(Application Binary Interface,ABI),能夠以原生速度執行並且和x64互通,也就是說,應用程式中的ARM64EC程式碼會原生地執行,而其他的x64程式碼,將會使用Windows 11內建的模擬器執行。
微軟解釋,ARM64EC ABI和現有ARM64 ABI的不同之處在於,ARM64EC和x64程式碼的二元相容性,由於ARM64EC ABI遵循x64軟體的約定,像是呼叫、堆疊使用和資料結構對齊等,使得ARM64EC和x64程式碼得以互通,因此建構ARM64EC應用程式能夠包含x64程式碼,但並非必要,ARM64EC本身就具有完整的Windows ABI。
過去要替Arm裝置重建應用程式,代表著必須要重新編譯整個應用程式,雖然能夠提供用戶更好的原生體驗,用到Arm設備的全部功能,但是從開發人員的角度來看,移植應用程式的成本可能很高,甚至窒礙難行,因為開發人員必須要重建流程中的所有二進位檔案。
而ARM64EC帶來的好處,是讓開發者可以從小地方著手,逐步建置Arm程式,找出以ARM64EC重新建置,能夠提升最多效能的部分開始,只先將其以ARM64EC重建,其他部分維持模擬x64,而重新編譯的部分就能夠以原生的速度執行,隨著發展,開發者可以逐漸地將應用程式其他部分,重新編譯為ARM64EC,進一步獲得應用程式的效能和減少電池消耗的好處。
混合x64和ARM64EC程式碼的能力,使得應用程式即便有部分x64程式碼無法移植到Arm上,開發者還是能夠建構適用於ARM上Windows 11的應用程式,不支援Arm的第三方相依項目,可以繼續維持x64,因此採用套件生態系統的應用程式,也能夠順利轉換成為ARM64ECM,在Arm上獲得原生的執行速度,並且繼續使用x64套件。
微軟內部已經使用ARM64EC重建了ARM上Windows 11的二進位檔案,因此由x64應用程式載入的系統程式碼,都能夠以原生速度執行,另外,Office團隊也使用ARM64EC,之後會推出64位元適用於Arm的Office,該版本Office可以使用現有的x64擴充套件。
熱門新聞
2024-11-25
2024-11-25
2024-11-15
2024-11-15
2024-11-26