Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Windows s’exécute traditionnellement sur des machines avec des processeurs x86/x64. Toutefois, il s’exécute aussi depuis peu sur des appareils avec des processeurs Arm.
Les appareils avec arm sont particulièrement intéressants, car la nature frugale de l’alimentation de l’architecture Arm permet à ces appareils d’offrir une durée de vie plus longue de la batterie tout en offrant de bonnes performances. Les systèmes Arm sur puce (SoC) incluent souvent d’autres fonctionnalités clés telles qu’un processeur puissant, un GPU, des réseaux de données mobiles Wi-Fi et des réseaux de données mobiles, ainsi que des unités de processeur neuronal (NPU) pour accélérer les charges de travail IA.
Créer des applications Windows qui s’exécutent sur Arm
Windows 10 permet aux applications x86 non modifiées existantes de s’exécuter sur des appareils Arm. Windows 11 ajoute la possibilité d’exécuter des applications Windows x64 non modifiées sur des appareils Arm. Cette possibilité d’exécuter des applications x86 et x64 sur des appareils Arm donne aux utilisateurs finaux la confiance que la majorité de leurs applications et outils existants s’exécutent correctement même sur les nouveaux appareils arm-alimentés.
Pour optimiser les performances, la réactivité et la durée de vie de la batterie, les utilisateurs souhaitent et ont besoin d’applications Windows natives Arm, ce qui signifie que les développeurs devront en créer ou en porter..
Vérifiez si une application est prise en charge sur Arm : Windows on Arm Ready Software. Ce site est votre source pour obtenir des informations de compatibilité pour de nombreuses applications et jeux sur les appareils Windows qui s’exécutent sur l’architecture Arm et qui sont gérés activement.
Machines Virtuelles
Vous pouvez créer et déployer des machines virtuelles Windows 11 Arm64 avec des processeurs Ampere Altra Arm sur Azure. Découvrez comment dans cet Article de démarrage rapide.
En savoir plus sur l’utilisation de Windows sur Arm (Machines Virtuelles) :
- FAQ sur Windows sur les machines virtuelles Arm
- Machines virtuelles Azure avec des processeurs Arm Ampere Altra – disponibilité générale
- Déployer un cluster Azure Kubernetes Service (AKS) Arm à l’aide de Terraform - Arm Developer Hub
- En savoir plus sur la génération et le test de l’automatisation via l’intégration continue / le déploiement continu (CI/CD) hébergé dans le cloud, comme Azure DevOps ou GitHub.
Appareils de développement Arm
Les développeurs qui souhaitent créer et tester des applications arm natives sur Windows ont plus d’options que jamais.
Les PC Copilot+ offrent une unité de traitement neuronal (NPU) et les dernières fonctionnalités d’IA et de capacité de calcul par le biais de divers fabricants d’appareils. La plupart de ces PC utilisent le processeur Snapdragon® X Series basé sur Arm, qui offre 45 billions d'opérations par seconde (TOPS).
Le Kit de développement Windows 2023 (nom de code « Project Volterra ») n’est plus disponible pour l’achat, mais il reste un appareil arm viable qui prend en charge le développement Windows, la recherche ia et le test pour l’intégration de l’IA dans les applications et les expériences.
Prise en charge des applications Windows existantes sur Arm
Windows sur Arm exécute des applications Arm natives, ainsi que de nombreuses applications x86 et x64 non modifiées. Pour des performances optimales et une meilleure autonomie de la batterie, développez des applications natives sur architecture Arm dans la mesure du possible. Vous pouvez créer des applications Windows avec de nombreux outils et technologies différents, notamment des applications Win32 C/C++ natives, des applications WinForms/WPF .NET classiques, des applications .NET ou MAUI modernes, ou même des applications créées avec Java, Python, Node.js, etc.
Rechercher des outils pour le développement Arm
Microsoft fournit en permanence des mises à jour d’ensemble d’outils de développement arm natives pour créer et porter des applications qui ciblent en mode natif des appareils Windows ARM aussi facilement que lors du ciblage x64. Prise en charge du développement d’applications pour Arm, sur Arm.
- Visual Studio natif arm inclut Visual C++, .NET & .NET Framework et Java et permet aux développeurs de créer et déboguer en mode natif des applications Arm sur des appareils Arm. En savoir plus : Arm64 Visual Studio is officially here! (Visual Studio Arm64 est officiellement disponible !) – Nov. 2022, MSVC ARM64 Optimizations in Visual Studio 2022 17.7 (Optimisations MSVC ARM64 dans Visual Studio 2022 17.7) – Sept. 2023.
- Visual Studio Code prend en charge Arm en mode natif et peut être installé sur des appareils Arm. L’extension VS Code C++ offre également intelliSense C++ et prend en charge le développement d’applications Windows qui s’exécutent en mode natif sur des appareils Arm64.
- .NET 6+ prend déjà en charge Arm, à la fois pour l’exécution Arm native et l’émulation x64. Pour développer des applications .NET qui s’exécutent en mode natif sur des appareils Arm64, installez le nouveau Kit de développement logiciel (SDK) Visual Studio 2022 17.4 et .NET 8 Arm64. Pour en savoir plus sur la prise en charge de .NET 8 pour Arm et les améliorations des performances pour Arm64, consultez le blog .NET : Arm64 Performance Improvements in .NET 8 (Amélioration des performances Arm64 dans .NET 8) – Oct. 2023.
-
Kit de développement logiciel (SDK) .NET 6 Arm64 : Par défaut, si vous
dotnet runutilisez une application .NET 6 avec le Kit de développement logiciel (SDK) Arm64, elle s’exécute en tant qu’Arm64. Utilisez l’outildotnet-runtimeinfopour découvrir l’environnement sur lequel .NET s’exécute. Pour en savoir plus, consultez l’annonce de blog .NET 6 sur la prise en charge d’Arm64. - La chaîne d’outils VC++ (Arm Developer) est la chaîne d’outils GNU pour les versions d’architecture Arm produites par Arm, permettant aux partenaires, aux développeurs et à la communauté d’utiliser de nouvelles fonctionnalités de l’architecture Arm récente et des projets open source GCC, Binutils, glibc, Newlib et GDB.
- Prise en charge Java pour Arm dans OpenJDK : Announcing OpenJDK for Windows on ARM (Annonce d’OpenJDK pour Windows sur ARM) – Juin 2020
- GitHub Actions : GitHub Actions, moteur de flux de travail CI/CD de GitHub, fait partie intégrante des flux de travail de nombreux développeurs. Ils utilisent cet outil pour générer, tester et déployer en continu des applications. GitHub Actions est désormais disponible pour Windows sur Arm en deux versions : 1. exécuteurs auto-hébergés que vous pouvez héberger sur une machine virtuelle Arm ou un appareil Arm, et 2. sous forme d’exécuteurs hébergés par GitHub (actuellement disponibles dans la version bêta privée, mais la version générale sera bientôt disponible).
- Docker Desktop : Les conteneurs sont une cible de déploiement populaire pour de nombreuses raisons : flux de travail de développement simplifié, isolation et sécurité, utilisation efficace des ressources, portabilité et reproductibilité. Le bureau Docker s’exécute désormais en mode natif sur Windows sur Arm.
Remarque
Le terme Arm est un raccourci pour les PC qui exécutent la version de bureau de Windows sur Arm64 (également appelé AArch64) processeurs. Le terme Arm32 est un raccourci pour l’architecture Arm 32 bits (communément appelée Arm dans d’autres documents). Les PC avec Arm offrent une grande compatibilité des applications et vous permettent d’exécuter vos applications x86 win32 non modifiées existantes. Les applications Arm s’exécutent en mode natif sans émulation, tandis que les applications x86 et x64 s’exécutent sous émulation sur les appareils Arm.
Arm64EC – Aide pour la mise à jour des applications Windows pour qu’elles s’exécutent sur Arm
Arm64EC (« Compatible avec l’émulation ») vous permet de créer de manière incrémentielle de nouvelles applications ou de porter des applications existantes afin de tirer parti des performances natives d’Arm, dans la mesure du possible, tout en utilisant le code et les bibliothèques x64 existants jusqu’à la migration complète. En savoir plus :
Conseils supplémentaires pour le développement d’applications Windows qui s’exécutent sur des appareils Arm
Utilisez MSIX pour empaqueter votre application pour la distribution. Pour plus d’informations sur la façon dont MSIX prend en charge Arm et Arm64, consultez architectures de package de l’application : Arm et Arm64.
Tous les projets Visual Studio ne sont pas configurés pour lancer des projets localement lorsque vous démarrez le débogage (F5) à partir d’un appareil Arm. Vous devrez peut-être configurer Visual Studio pour le débogage à distance, même si votre application s’exécute localement. Pour plus d’informations, consultez Débogage à distance.
Pour rechercher et installer les packages recommandés sur Visual Studio, visitez la page téléchargements de Visual Studio.
- Pour les Outils de contrôle à distance de Visual Studio 2022, faites défiler la section Tous les téléchargements et développez le menu déroulant Outils pour Visual Studio 2022. Les outils à distance pour Visual Studio 2022 y sont répertoriés. Veillez à cocher la case d’option Arm64, puis téléchargez.
- Pour Microsoft Visual C++ Redistributable, faites défiler la section Tous les téléchargements et développez le menu déroulant Autres outils et infrastructures . Microsoft Visual C++ Redistributable pour Visual Studio 2022 est répertorié ici. Veillez à cocher la case d’option Arm64, puis téléchargez.
- Si vous utilisez une version antérieure de Visual Studio, sélectionnez le lien Téléchargements plus anciens en bas de la page pour rechercher les téléchargements associés à votre version de Visual Studio.
Lorsqu’un utilisateur installe votre application sur un appareil Arm à partir du Microsoft Store, Windows 11 sélectionne automatiquement la version optimale de votre application disponible. Si vous envoyez des versions x86, Arm32 et Arm64 de votre application au Microsoft Store, le système d’exploitation installe automatiquement la version Arm64 de votre application. Si vous envoyez uniquement des versions x86 et Arm32 de votre application, le système d’exploitation installe la version Arm32. Si vous envoyez uniquement la version x86 de votre application, le système d’exploitation installe cette version et l’exécute sous émulation.
Lorsque vous devez choisir l’architecture d’application, choisissez la version 32 bits x86 pour exécuter la version 32 bits de l’application sur un PC Windows sur Arm. Si la version x64 Win32 d’une application ne fonctionne pas, la plupart des applications disposent d’une version x86 disponible.
Pour plus d’informations sur les architectures, consultez architectures de package d’application.
Service de conseil Arm du Soutien aux applications
Nos conseils pour ajouter la prise en charge d’Arm à votre application Windows expliquent comment créer une version optimisée arm de vos applications. Le service de conseil arm du Soutien aux applications est là pour vous aider si vous êtes bloqué. Ce service s’ajoute à notre promesse existante : vos applications s’exécutent sur Windows sur Arm et, si vous rencontrez des problèmes, Microsoft vous aide à les corriger. Plus d’informations
Inscrivez-vous au service de conseil Arm Windows.
Ressources supplémentaires
- Discours de Satya Nadella au Build 2022 annonçant le « Project Volterra »
- Fonctionnement de l’émulation x86 sur Arm
- Résolution des problèmes liés aux applications de bureau x86
- Résolution des problèmes liés aux applications UWP Arm
- Utilitaire de résolution de problèmes de compatibilité des programmes sur Arm
- Génération de pilotes Arm64 avec WDK : instructions pour la création d’un pilote Arm64.
- Débogage d’applications x86 sur Arm | Conseils pour le débogage d’applications x86 sur Arm.
- Vidéo : Création d’applications Arm64 Win32 C++
- Windows 10 sur Arm pour les développeurs (présentation vidéo Microsoft Build 2018)
- Blog : Annonce d’origine de la prise en charge de Windows 10 pour le développement Arm
- Signaler un bogue
Ressources externes
- Ressources pour les développeurs pour Windows sur Snapdragon par Qualcomm
- Developer.arm.com : Windows sur Arm
- Developer.arm.com : Porter des applications vers Windows sur Arm
- Developer.arm.com : Création d’une application Windows native sur Arm avec WinUI 3
- Developer.arm.com : Création de bibliothèques pour Windows sur Arm