Utilisez les questions et réponses suivantes pour mieux comprendre la prise en charge des appareils arm s'exécutant sur Windows.
Les appareils basés sur arm sont de plus en plus populaires. Bien que Windows prenne en charge l'émulation pour les applications avec une architecture x64 ou x86, la fourniture d'une build native Arm de votre application Windows améliore les performances et offre à vos clients la meilleure expérience lors de l'utilisation d'un appareil Arm.
Pourquoi mettre à jour mon application vers Arm quand x64 et x86 sont tous deux pris en charge via l'émulation sur Windows 11 ?
Bien que vos clients puissent utiliser votre application x64 ou x86 sur leur appareil Arm, il existe une surcharge de performances qui est fournie avec l'émulation. Offrez à vos clients une version native Arm de vos applications Windows pour des performances et une réactivité optimales, ainsi qu'une durée de vie de la batterie optimisée sur leur appareil Arm.
Reportez-vous à Ajouter une prise en charge arm à votre application Windows.
Les pilotes sont-ils pris en charge par l'émulation ? Ou dois-je ajouter la prise en charge native Arm64 aux pilotes utilisés dans mon application ?
Dans tous les cas, les pilotes en mode noyau et les pilotes d'impression en mode utilisateur doivent être générés en tant que binaires Arm64 natifs pour fonctionner sur les appareils Arm64. En outre, vous ne pouvez pas exécuter un programme d'installation x86 ou x64 pour installer un pilote Arm64 sur des appareils Arm64. Reportez-vous à Génération de pilotes Arm64 avec WDK.
Visual Studio et Visual Studio Code offrent des versions natives Arm pour vous permettre d'installer.
Reportez-vous à Ajouter la prise en charge arm à votre application Windows – Tester et déboguer. Pour les tests, vous aurez besoin d'un appareil Windows sur Arm, notamment le kit de développement Windows 2023. Vous pouvez aussi exécuter une machine virtuelle Windows 11 Arm64.
Il existe plusieurs façons de résoudre le scénario lorsque votre application Windows s'appuie sur une dépendance tierce qui n'a pas encore été mise à jour pour Arm. Nous vous recommandons d'abord de contacter le propriétaire de la dépendance pour demander s'il existe des plans de mise à jour de la dépendance pour prendre en charge Arm. Vous pouvez également vérifier des ressources comme NuGet ou vcpkg, ou contacter la communauté Arm Open Source pour obtenir de l'aide sur la mise à jour des dépendances (comme Linaro). Vous pouvez réécrire la dépendance vous-même : le « programme Soutien aux applications » de Microsoft peut aider. Vous pouvez également écrire votre application à l'aide d'Arm64EC, ce qui vous permet de combiner du code x64 et Arm64 pour une implémentation arm native partielle axée sur l'optimisation des aspects les plus importants de votre application pour Arm.
Comment faire pour mettre à jour mon application Windows C++ pour prendre en charge les appareils Arm ?
Reportez-vous à Configurer des projets C++ pour les processeurs Arm.
Vous remarquerez peut-être les annuaires suivants sur votre appareil Windows, utilisés pour installer et stocker différents types de fichiers d’application.
C:\Program Files
: ce répertoire est utilisé pour les applications x64, les applications Arm64, les applications Arm64X. En savoir plus sur le portage de votre application vers Arm64 ou la génération de fichiers binaires Arm64X.C:\Program Files (x86)
: cet annuaire est utilisé pour les applications x86. En savoir plus sur le fonctionnement de l’émulation x86 sur Arm.C:\Program Files (Arm)
: Cet annuaire a été utilisé pour les applications Arm 32 bits, qui ne sont plus prises en charge dans les futures versions de Windows.
Pour obtenir de l’aide sur la création et le déploiement de machines virtuelles Windows 11 Arm64 avec des processeurs Ampere Altra Arm sur Azure, consultez Démarrage rapide : Créer une machine virtuelle Windows sur Arm dans le Portail Azure. Vous pouvez également créer une machine virtuelle Windows sur Arm localement avec un appareil Windows sur Arm à l’aide d’Hyper-V.
Puis-je héberger une machine virtuelle Windows 11 à l'aide d'Hyper-V sur un appareil Windows 11 Arm64 ?
Oui, vous pouvez. La méthode la plus simple consiste à télécharger windows 11 sur Arm Insider Preview VHDX à partir des téléchargements Windows Insider Preview et à l’utiliser pour créer une machine virtuelle.
Existe-t-il des formations sur l'ajout de la prise en charge arm à une application Windows et l'exécution d'une machine virtuelle pour le test et le débogage ?
Oui. Reportez-vous à Présentation de Windows sur Arm – Porter une application .NET pour prendre en charge en mode natif les processeurs arm.
L’échantillonnage de l’UC avec l’outil Enregistreur de performance Windows est-il pris en charge sur les machines virtuelles Hyper-V basées sur ARM ?
Oui, mais la fonctionnalité est actuellement disponible uniquement dans le canal Canary Windows Insider Preview. Si vous êtes prêt à inscrire votre appareil ARM physique qui héberge vos machines virtuelles dans le canal Canary, l’échantillonnage de l’UC sera pris en charge dans les machines virtuelles ; la fonctionnalité est déjà prise en charge sur les appareils ARM physiques. Exemple d’utilisation : wpr -start cpu
.