Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Windows se ha ejecutado tradicionalmente en máquinas con tecnología de procesadores x86 / x64, pero más recientemente también se ejecuta en dispositivos con tecnología de procesadores Arm.
Los dispositivos con tecnología Arm son especialmente interesantes porque la naturaleza de energía frugal de la arquitectura Arm permite a estos dispositivos ofrecer una mayor duración de la batería a la vez que ofrece un gran rendimiento. Los sistemas en chip de Arm (SoC) suelen incluir otras características clave, como una CPU potente, GPU, Wi-Fi y redes de datos móviles, así como unidades de procesador neuronal (NPUs) para acelerar las cargas de trabajo de inteligencia artificial.
Compilar aplicaciones de Windows que se ejecutan en Arm
Windows 10 permite que las aplicaciones x86 existentes sin modificar se ejecuten en dispositivos Arm. Windows 11 agrega la capacidad de ejecutar aplicaciones windows x64 sin modificar en dispositivos Arm. Esta capacidad para ejecutar aplicaciones x86 y x64 en dispositivos Arm ofrece a los usuarios finales confianza en que la mayoría de sus aplicaciones y herramientas existentes se ejecutan bien incluso en nuevos dispositivos con tecnología Arm.
Para obtener el mejor rendimiento, capacidad de respuesta y duración de la batería, los usuarios querrán y necesitarán aplicaciones de Windows nativas de Arm, lo que significa que los desarrolladores tendrán que compilar o migrar aplicaciones de Windows nativas de Arm.
Compruebe si una aplicación es compatible con Arm: Windows en Arm Ready Software. Este sitio es su fuente de información de compatibilidad para muchas aplicaciones y juegos en dispositivos Windows que funcionan con la arquitectura Arm y se mantiene activamente.
Virtual Machines
Puede crear e implementar máquinas virtuales de Windows 11 Arm64 con procesadores basados en Arm de Ampere Altra en Azure. Aprende cómo hacerlo en este artículo de Inicio rápido.
Encuentra más información sobre usar máquinas virtuales de Windows en ARM:
- Preguntas frecuentes sobre máquinas virtuales de Windows en ARM
- Azure Virtual Machines con procesadores basados en Ampere Altra ARM - generalmente disponibles
- Implementación de un clúster de Azure Kubernetes Service (AKS) basado en ARM mediante Terraform: Centro para desarrolladores de ARM
- Obtén más información sobre la automatización de compilación y pruebas a través de la integración continua/implementación continua (CI/CD) hospedada en la nube, como Azure DevOps o GitHub.
Dispositivos de desarrolladores de Arm
Los desarrolladores que quieren compilar y probar aplicaciones nativas de Arm en Windows tienen más opciones que nunca.
Los equipos de Copilot+ ofrecen una unidad de procesamiento neuronal (NPU) y las últimas características de inteligencia artificial y capacidad informática a través de una variedad de fabricantes de dispositivos. Muchos de estos equipos usan el procesador de la serie Snapdragon® X basado en Arm, que ofrece 45 billones de operaciones por segundo (TOPS).
El Kit de desarrollo de Windows 2023 (nombre de código "Project Volterra") ya no está disponible para su compra, pero sigue siendo un dispositivo viable basado en Arm que admite el desarrollo de Windows, la investigación de IA y las pruebas para la integración de la inteligencia artificial en aplicaciones y experiencias.
Compatibilidad con aplicaciones existentes de Windows en Arm
Windows en Arm ejecuta aplicaciones nativas de Arm, así como muchas aplicaciones x86 y x64 no modificadas. Para obtener el mejor rendimiento y duración de la batería, cree aplicaciones para que sean nativas de Arm siempre que sea posible. Puede compilar aplicaciones de Windows con muchas herramientas y tecnologías diferentes, incluidas aplicaciones nativas de Win32 de C/C++, aplicaciones winForms/WPF clásicas de .NET Framework, aplicaciones modernas de .NET o MAUI, o incluso aplicaciones compiladas con Java, Python, Node.js, etc.
Buscar herramientas para el desarrollo de Arm
Microsoft ofrece continuamente actualizaciones de conjuntos de herramientas de desarrollo nativos de Arm para compilar y portar aplicaciones destinadas de forma nativa a dispositivos con tecnología arm de Windows tan fácilmente como cuando se destinan a x64. Compatibilidad con el desarrollo de aplicaciones para Arm, en Arm.
- Visual Studio nativo de Arm incluye Visual C++, .NET y .NET Framework y Java , y permite a los desarrolladores compilar y depurar aplicaciones arm de forma nativa en dispositivos basados en Arm. Más información: Visual Studio para Arm64 ya ha llegado de forma oficial (noviembre de 2022), Optimizaciones de MSVC para ARM64 en Visual Studio 2022 17.7 (septiembre de 2023).
- Visual Studio Code admite Arm de forma nativa y se puede instalar en dispositivos Arm. La extensión C++ de VS Code también ofrece IntelliSense de C++ y compatibilidad con la compilación para desarrollar aplicaciones de Windows que se ejecutan de forma nativa en dispositivos Arm64.
- .NET 6+ ya admite Arm, tanto para la ejecución nativa de Arm como para la emulación x64. Para desarrollar aplicaciones .NET que se ejecutan de forma nativa en dispositivos Arm64, instale el nuevo Visual Studio 2022 17.4 nativo de Arm y el SDK de Arm64 de .NET 8. Obtenga más información sobre la compatibilidad de .NET 8 con Arm y las mejoras de rendimiento de Arm64 en el blog de .NET: Mejoras de rendimiento de Arm64 en .NET 8 (octubre de 2023).
-
SDK de .NET 6 Arm64: De forma predeterminada, si usa
dotnet rununa aplicación de .NET 6 con el SDK de Arm64, se ejecuta como Arm64. Use ladotnet-runtimeinfoherramienta para detectar el entorno en el que se ejecuta .NET. Consulte el anuncio del blog de .NET 6 sobre la compatibilidad con Arm64 para obtener más información. - La cadena de herramientas de VC++ (Arm Developer) es la cadena de herramientas GNU para las versiones de Arm Architecture producidas por Arm, lo que permite a los asociados, desarrolladores y la comunidad usar nuevas características de la arquitectura de Arm recientes y de proyectos de código abierto GCC, Binutils, glibc, Newlib y GDB.
- Compatibilidad de Java con Arm en OpenJDK: Anuncio de OpenJDK para Windows en ARM (junio de 2020)
- Acciones de GitHub: Acciones de GitHub, motor de flujo de trabajo de CI/CD de GitHub, es una parte integral de muchos flujos de trabajo de desarrolladores. Usan esta herramienta para compilar, probar e implementar aplicaciones continuamente. GitHub Actions ahora están disponibles para Windows en ARM en dos variantes: 1. ejecutores autohospedados que se pueden hospedar en una máquina virtual Arm o un dispositivo Arm. Ejecutores hospedados en GitHub (actualmente disponibles en la versión beta privada, aunque la versión general estará disponible próximamente).
- Docker Desktop: los contenedores son un destino de implementación popular por muchas razones: un flujo de trabajo de desarrollo simplificado, aislamiento y seguridad, uso eficiente de recursos, portabilidad y reproducibilidad. El escritorio de Docker ahora se ejecuta de forma nativa en Windows en Arm.
Nota:
El término Arm es una abreviatura de los equipos que ejecutan la versión de escritorio de Windows en los procesadores Arm64 (también denominados normalmente AArch64). El término Arm32 es una abreviatura de la arquitectura arm de 32 bits (normalmente denominada Arm en otra documentación). Los equipos con tecnología de Arm proporcionan una gran compatibilidad con aplicaciones y permiten ejecutar las aplicaciones x86 win32 sin modificar. Las aplicaciones Arm se ejecutan de forma nativa sin emulación, mientras que las aplicaciones x86 y x64 se ejecutan bajo emulación en dispositivos Arm.
Arm64EC - Ayuda para actualizar aplicaciones de Windows para que se ejecuten en Arm
Arm64EC ("Compatible con emulación") le permite crear de forma incremental nuevas aplicaciones o migrar aplicaciones existentes para aprovechar el rendimiento nativo de Arm siempre que sea posible, al tiempo que usa código y bibliotecas x64 existentes hasta que se migre completamente. Más información:
Sugerencias adicionales para desarrollar aplicaciones de Windows que se ejecutan en dispositivos Arm
Use MSIX para empaquetar la aplicación para su distribución. Para obtener más información sobre cómo MSIX admite Arm y Arm64, consulte Arquitecturas de paquete de la aplicación: Arm y Arm64.
No todos los proyectos de Visual Studio están configurados para iniciar proyectos de manera local cuando se inicia la depuración (F5) desde un dispositivo Arm. Es posible que tenga que configurar Visual Studio para la depuración remota, aunque la aplicación se ejecute localmente. Para más información, consulte Depuración remota.
Para buscar e instalar los paquetes recomendados en Visual Studio, visite la página de descargas de Visual Studio.
- Para las Herramientas remotas para Visual Studio 2022, desplácese debajo de la sección Todas las descargas y expanda el menú desplegable Herramientas para Visual Studio 2022. Las herramientas remotas para Visual Studio 2022 aparecen ahí. Asegúrese de marcar el botón de opción Arm64 y, a continuación, Descargar.
- Para el Microsoft Visual C++ Redistributable, desplácese debajo de la sección Todas las descargas y expanda el menú desplegable Otras herramientas y marcos. Microsoft Visual C++ Redistributable para Visual Studio 2022 aparece ahí. Asegúrese de marcar el botón de opción Arm64 y, a continuación, Descargar.
- Si usa una versión anterior de Visual Studio, seleccione el vínculo Descargas anteriores en la parte inferior de la página para buscar las descargas asociadas a la versión de Visual Studio.
Cuando un usuario instala la aplicación en un dispositivo Arm desde Microsoft Store, Windows 11 selecciona automáticamente la versión óptima de la aplicación que está disponible. Si envías versiones x86, Arm32 y Arm64 de la aplicación a Microsoft Store, el sistema operativo instala automáticamente la versión arm64 de la aplicación. Si solo envía versiones x86 y Arm32 de la aplicación, el sistema operativo instala la versión arm32. Si solo envías la versión x86 de la aplicación, el sistema operativo instala esa versión y la ejecuta en emulación.
Cuando se le dé a elegir la arquitectura de la aplicación, elija la versión x86 de 32 bits para ejecutar la versión de 32 bits de la aplicación en un equipo con Windows en Arm. Si la versión x64 win32 de una aplicación no funciona, la mayoría de las aplicaciones tienen disponible una versión x86.
Para obtener más información sobre las arquitecturas, consulte Arquitecturas de paquete de la aplicación.
Servicio de asesoramiento de asesoría de aplicaciones de Arm
Nuestra guía para agregar compatibilidad con Arm a la aplicación de Windows le guía a través de cómo crear una versión optimizada para Arm de las aplicaciones. El servicio de asesoramiento de asesoría de aplicaciones de Arm está disponible para ayudarle si se queda atascado. Este servicio se suma a nuestra promesa existente: las aplicaciones se ejecutan en Windows en Arm y, si encuentra algún problema, Microsoft le ayuda a corregirlos. Más información.
Registrarse en el servicio de asesoramiento de Windows ARM.
Recursos adicionales
- Presentación de Build 2022 de Satya Nadella anunciando "Project Volterra"
- Cómo funciona la emulación de x86 en Arm
- Solución de problemas de aplicaciones de escritorio x86
- Solución de problemas de aplicaciones para UWP de ARM
- Solucionador de problemas de compatibilidad de programas en ARM
- Compilación de controladores Arm64 con el WDK: instrucciones para compilar un controlador Arm64.
- Depuración de aplicaciones x86 en Arm | Instrucciones para depurar aplicaciones x86 en Arm.
- Vídeo: compilación de aplicaciones de Arm64 Win32 C++
- Windows 10 en Arm para desarrolladores (presentación de vídeo de Microsoft Build 2018)
- Blog: anuncio original de la compatibilidad con Windows 10 para el desarrollo de Arm
- Notificar un error