Windows op Arm
Windows wordt traditioneel uitgevoerd op machines die worden aangedreven door x86 / x64-processors, maar meer recent ook worden uitgevoerd op apparaten die worden aangedreven door Arm-processors.
Arm-aangedreven apparaten zijn bijzonder interessant omdat de energiezuinige aard van de Arm-architectuur deze apparaten in staat stelt om een langere batterijduur te bieden, terwijl ze uitstekende prestaties leveren. Arm Systems on Chip (SoC) bevatten vaak andere belangrijke functies, zoals een krachtige CPU, GPU, Wi-Fi & mobiele gegevensnetwerken en NPU's (Neural Processor Units) voor het versnellen van AI-workloads.
Windows-apps bouwen die worden uitgevoerd op Arm
Met Windows 10 kunnen bestaande, ongewijzigde x86-apps worden uitgevoerd op Arm-apparaten. Windows 11 voegt de mogelijkheid toe om ongewijzigde x64 Windows-apps uit te voeren op Arm-apparaten! Deze mogelijkheid om x86 & x64-apps uit te voeren op Arm-apparaten geeft eindgebruikers het vertrouwen dat het merendeel van hun bestaande apps &-hulpprogramma's goed wordt uitgevoerd, zelfs op nieuwe arm-apparaten.
Voor de beste prestaties, reactietijd en levensduur van de batterij hebben gebruikers armeigen Windows-apps nodig. Dit betekent dat ontwikkelaars armeigen Windows-apps moeten bouwen of overzetten.
Controleer of deze wordt ondersteund in Arm: Windows op Arm Ready Software- Deze site is uw bron voor compatibiliteitsinformatie voor veel apps en games op Windows-apparaten die worden uitgevoerd op Arm-architectuur en wordt na verloop van tijd bijgewerkt.
Virtuele machines
U kunt Windows 11 Arm64-VM's maken en implementeren met Ampere Altra Arm-processors in Azure. In dit quickstart-artikelleert u hoe u dit doet.
Meer informatie over het gebruik van Windows op virtuele Arm-machines:
- Veelgestelde vragen over Windows op virtuele Arm-machines
- Virtuele Azure-machines met Ampere Altra Arm-processors, algemeen beschikbaar
- Een AKS-cluster (Azure Kubernetes Service) op basis van Arm implementeren met behulp van Terraform - ARM Developer Hub
- Meer informatie over het bouwen en testen van automatisering via Continual Integration /Continual Deployment (CI/CD) die in de cloud wordt gehost, zoals Azure DevOps- of GitHub-.
Ontwikkelaarsapparaten van Arm
Het aantal opties dat beschikbaar is voor ontwikkelaars die systeemeigen Arm-apps willen bouwen en testen in Windows, is toegenomen.
Copilot+ pc's bieden een NPU (Neural Processing Unit) en de nieuwste functies en rekencapaciteit van AI via verschillende fabrikanten van apparaten. Veel daarvan worden mogelijk gemaakt door de Arm-gebaseerde Snapdragon® X-serie-processor, die 45 biljard bewerkingen per seconde (TOPS) biedt om mee te werken.
Windows Dev Kit 2023 (codenaam 'Project Volterra') is niet meer als nieuw te kopen, maar blijft levensvatbaar als een Arm-apparaat dat is gebouwd ter ondersteuning van Windows-ontwikkeling, AI-onderzoek en tests voor de integratie van AI in apps en ervaringen.
Ondersteuning voor bestaande Windows-apps in Arm
Windows op Arm voert systeemeigen Arm-apps uit, evenals veel ongewijzigde x86-& x64-apps, maar voor de beste prestaties en levensduur van de batterij moeten apps waar mogelijk worden gebouwd om systeemeigen arm te zijn. Windows-apps kunnen worden gebouwd met behulp van veel verschillende hulpprogramma's en technologieën, waaronder systeemeigen C/C++ Win32-apps, klassieke .NET Framework WinForms/WPF-apps, moderne .NET- of MAUI-apps, of zelfs apps die zijn gebouwd met Java, Python, knooppunt, enzovoort.
Hulpmiddelen zoeken voor de ontwikkeling van Arm
Microsoft levert voortdurend updates voor systeemeigen ontwikkelaarshulpprogramma's om apps te bouwen en over te zetten die nativiteit gericht zijn op Windows ARM-apparaten, net zo eenvoudig als het richten op x64. Ondersteuning voor app-ontwikkeling voor Arm, op Arm.
- Arm-systeemeigen Visual Studio- bevat Visual C++, .NET & .NET Framework en Java- en stelt ontwikkelaars in staat om systeemeigen Arm-apps te bouwen en fouten op te sporen op Arm-apparaten. Meer informatie: Arm64 Visual Studio is hier officieel! (November 2022), MSVC ARM64 Optimizations in Visual Studio 2022 17.7 (september 2023).
- Visual Studio Code systeemeigen ondersteuning biedt voor Arm en kan worden geïnstalleerd op Arm-apparaten. De VS Code C++-extensie biedt ook C++ IntelliSense en bouw ondersteuning voor het ontwikkelen van Windows-apps die systeemeigen worden uitgevoerd op Arm64-apparaten.
- .NET 6+ ondersteunt al Arm, zowel voor systeemeigen Arm-uitvoering als x64-emulatie. Als u .NET-apps wilt ontwikkelen die systeemeigen worden uitgevoerd op Arm64-apparaten, raden we u aan om de nieuwe systeemeigen Arm Visual Studio 2022 17.4 te installeren en .NET 8 Arm64 SDK. Meer informatie over .NET 8-ondersteuning voor Arm en de prestatieverbeteringen voor Arm64 op de .NET-blog: Arm64-prestatieverbeteringen in .NET 8 (oktober 2023).
-
.NET 6 Arm64 SDK: Standaard, als u een .NET 6-app
dotnet run
met de Arm64 SDK, wordt deze uitgevoerd als Arm64. Het hulpprogrammadotnet-runtimeinfo
kan worden gebruikt om de omgeving te detecteren waarop .NET wordt uitgevoerd. Zie de blogaankondiging .NET 6 op Arm64-ondersteuning voor meer informatie. - VC++ toolchain (Arm Developer) is de GNU-toolchain voor Arm Architecture releases geproduceerd door Arm, waardoor partners, ontwikkelaars en de community nieuwe functies kunnen gebruiken van recente Arm Architecture en van opensource projecten GCC, Binutils, glibc, Newlib en GDB.
- Java-ondersteuning voor Arm in de OpenJDK-: Aankondiging van OpenJDK voor Windows op ARM (juni 2020)
- GitHub Actions: GitHub Actions, de CI/CD-werkstroomengine van GitHub is een integraal onderdeel van de werkstromen van veel ontwikkelaars, ze gebruiken dit om continu apps te bouwen, testen en implementeren. GitHub Actions is nu beschikbaar voor Windows op Arm in 2 smaken: 1. zelf-hostende hardlopers die kunnen worden gehost op een Arm-VM of Arm-apparaat en 2. gehoste runners van GitHub (momenteel beschikbaar in de privé-bètaversie, maar de algemene release is binnenkort beschikbaar).
- Docker Desktop: Containers zijn om vele redenen een populair implementatiedoel: een gestroomlijnde ontwikkelwerkstroom, isolatie en beveiliging, efficiënt resourcegebruik, overdraagbaarheid en reproduceerbaarheid. Docker Desktop wordt nu systeemeigen uitgevoerd in Windows op Arm.
Notitie
We gebruiken de term Arm als een afkorting voor pc's met de bureaubladversie van Windows op Arm64 (ook wel AArch64) processors genoemd. We gebruiken de term Arm32 hier als een afkorting voor de 32-bits Arm-architectuur (ook wel Arm genoemd in andere documentatie). Pc's die worden aangedreven door Arm bieden geweldige toepassingscompatibiliteit en bieden u de mogelijkheid om uw bestaande niet-aangepaste x86 win32-toepassingen uit te voeren. Arm-apps worden systeemeigen uitgevoerd zonder emulatie, terwijl x86- en x64-apps worden uitgevoerd onder emulatie op Arm-apparaten.
Arm64EC - Help voor het bijwerken van Windows-apps die worden uitgevoerd op Arm
Met Arm64EC ('Emulation compatible') kunt u incrementeel nieuwe apps bouwen of bestaande apps overzetten om waar mogelijk te profiteren van systeemeigen Arm-prestaties, terwijl u bestaande x64-code & bibliotheken gebruikt totdat deze volledig zijn gemigreerd. Meer informatie:
Aanvullende tips voor het ontwikkelen van Windows-apps die worden uitgevoerd op Arm-apparaten
We raden u aan MSIX- te gebruiken om uw app te verpakken voor distributie. Zie App-pakketarchitecturen: Arm en Arm64voor meer informatie over hoe MSIX ondersteuning biedt voor Arm en Arm64.
Niet alle Visual Studio-projecten zijn geconfigureerd om projecten lokaal te starten wanneer u foutopsporing (F5) start vanaf een Arm-apparaat. Mogelijk moet u Visual Studio configureren voor externe foutopsporing, ook al wordt uw app lokaal uitgevoerd. Zie externe foutopsporingvoor meer informatie.
Als u de aanbevolen pakketten in Visual Studio wilt zoeken en installeren, gaat u naar de pagina met downloads van Visual Studio.
- Voor de Remote Tools for Visual Studio 2022scrollt u onder de sectie Alle downloads en vouwt u de vervolgkeuzelijst Tools voor Visual Studio 2022 uit. Externe hulpprogramma's voor Visual Studio 2022 worden daar weergegeven. Zorg ervoor dat je het keuzerondje Arm64 selecteert en dan Download.
- Voor de Microsoft Visual C++ Herdistribueerbare, scroll naar beneden naar de sectie Alle downloads en vouw het vervolgkeuzemenu Andere Hulpprogramma's en Frameworks uit. Microsoft Visual C++ Redistributable voor Visual Studio 2022 zal daar worden vermeld. Zorg ervoor dat u het optieknopje Arm64 aanvinkt en klik dan op Download.
- Als u een oudere versie van Visual Studio gebruikt, selecteert u de koppeling Oudere downloads onderaan de pagina om te zoeken naar de downloads die zijn gekoppeld aan uw versie van Visual Studio.
Wanneer een gebruiker uw app installeert op een Arm-apparaat vanuit de Microsoft Store, selecteert Windows 11 automatisch de optimale versie van uw app die beschikbaar is. Als u x86-, Arm32- en Arm64-versies van uw app naar de Microsoft Store verzendt, installeert het besturingssysteem automatisch de Arm64-versie van uw app. Als u alleen x86- en Arm32-versies van uw app verzendt, installeert het besturingssysteem de Arm32-versie. Als u alleen de x86-versie van uw app verzendt, wordt die versie door het besturingssysteem geïnstalleerd en uitgevoerd onder emulatie.
Wanneer u de keuze voor app-architectuur krijgt, kiest u de 32-bits x86-versie om de 32-bits versie van de app uit te voeren op een Windows-pc met Arm. Als de x64 Win32-versie van een app niet werkt, hebben de meeste apps een x86-versie beschikbaar.
Zie App-pakketarchitecturenvoor meer informatie over architecturen.
App Assure Arm Adviesdienst
Hoewel onze richtlijnen voor het toevoegen van Arm-ondersteuning aan uw Windows-app beschrijven hoe u een versie van uw app(s) optimaliseert voor Arm. De App Assure Arm Advisory Service is beschikbaar om te helpen als u vastloopt. Deze service is een aanvulling op onze bestaande belofte: uw apps worden uitgevoerd in Windows op Arm en als u problemen ondervindt, helpt Microsoft u deze op te lossen. Meer informatie.
Registreren voor Windows Arm Advisory Service.
Aanvullende informatiebronnen
- Build 2022 van Satya Nadella aankondiging van "Project Volterra"
- Hoe x86-emulatie werkt op Arm
- Problemen met x86-bureaublad-apps oplossen
- Problemen met Arm UWP-apps oplossen
- Probleemoplosser voor programmacompatibiliteit in Arm
- Bouwen van Arm64-stuurprogramma's met de WDK: Instructies voor het bouwen van een Arm64-stuurprogramma.
- Foutopsporing van x86-apps in Arm | Richtlijnen voor het opsporen van fouten in x86-apps in Arm.
- Video: Arm64 Win32 C++-apps bouwen
- Windows 10 op Arm voor ontwikkelaars (Microsoft Build 2018-videopresentatie)
- Blog: Oorspronkelijke aankondiging van ondersteuning voor Windows 10 voor Arm-ontwikkeling
- een fout melden
Externe bronnen
Windows on Arm