Partilhar via


Windows em ARM

O Windows tem sido tradicionalmente executado em máquinas que são alimentadas por processadores x86 / x64, mas mais recentemente, também é executado em dispositivos alimentados por processadores Arm.

Os dispositivos alimentados por braço são particularmente interessantes porque a natureza frugal de energia da arquitetura Arm permite que esses dispositivos ofereçam maior vida útil da bateria enquanto oferecem um ótimo desempenho. Os Arm Systems on Chip (SoC) geralmente incluem outros recursos importantes, como uma poderosa CPU, GPU, Wi-Fi e redes de dados móveis, bem como Unidades de Processador Neural (NPUs) para acelerar cargas de trabalho de IA.

Crie aplicativos do Windows que são executados no Arm

O Windows 10 permite que aplicativos x86 existentes não modificados sejam executados em dispositivos Arm. O Windows 11 adiciona a capacidade de executar aplicativos x64 do Windows não modificados em dispositivos Arm. Essa capacidade de executar aplicativos x86 e x64 em dispositivos Arm dá aos usuários finais a confiança de que a maioria de seus aplicativos e ferramentas existentes funcionam bem, mesmo em novos dispositivos equipados com Arm.

Para obter o melhor desempenho, capacidade de resposta e duração da bateria, os usuários vão querer e precisar de aplicativos do Windows nativos do Arm, o que significa que os desenvolvedores precisarão criar ou portar aplicativos do Windows nativos do Arm.

Verifique se uma aplicação é suportada no Arm: Windows on Arm Ready Software. Este site é a sua fonte de informações de compatibilidade para muitos aplicativos e jogos em dispositivos Windows que são executados na arquitetura Arm e está sendo mantido ativamente.

Máquinas Virtuais

Você pode criar e implantar VMs do Windows 11 Arm64 com processadores baseados no Ampere Altra Arm no Azure. Saiba como neste artigo Guia de início rápido.

Saiba mais sobre como usar o Windows em máquinas virtuais Arm:

Dispositivos de desenvolvedor Arm

Os desenvolvedores que desejam criar e testar aplicativos nativos do Arm no Windows têm mais opções do que nunca.

  • Os PCs Copilot+ oferecem uma Unidade de Processamento Neural (NPU) e o que há de mais recente em recursos de IA e capacidade de computação através de uma variedade de fabricantes de dispositivos. Muitos desses PCs usam o processador Snapdragon® X Series baseado em Arm, que oferece 45 trilhões de operações por segundo (TOPS).

  • O Windows Dev Kit 2023 (codinome "Project Volterra") não está mais disponível para compra, mas continua sendo um dispositivo viável baseado em Arm que suporta desenvolvimento do Windows, pesquisa de IA e testes para a integração de IA em aplicativos e experiências.

Suporte para aplicativos existentes do Windows no Arm

gráfico de Tipos de aplicação.

O Windows on Arm executa aplicativos Arm nativos, bem como muitos aplicativos x86 e x64 não modificados. Para obter o melhor desempenho e duração da bateria, crie aplicativos para serem nativos do Arm sempre que possível. Você pode criar aplicativos do Windows com muitas ferramentas e tecnologias diferentes, incluindo aplicativos Win32 C/C++ nativos, aplicativos WinForms/WPF clássicos do .NET Framework, aplicativos .NET ou MAUI modernos ou até mesmo aplicativos criados com Java, Python Node.jse muito mais.

Encontre ferramentas para o desenvolvimento ARM

Ferramentas gráfico

A Microsoft fornece continuamente atualizações do conjunto de ferramentas de desenvolvedor nativas do Arm para criar e portar aplicações destinadas a dispositivos ARM com Windows tão facilmente como ao destinar-se a x64. Apoio ao desenvolvimento de aplicações para Arm, em Arm.

  • O Visual Studio nativo do Arm inclui Visual C++, .NET & .NET Framework e Java e permite que os desenvolvedores criem e depurem nativamente aplicativos Arm em dispositivos baseados em Arm. Saiba mais: Arm64 Visual Studio está oficialmente aqui! (nov 2022), Otimizações MSVC ARM64 no Visual Studio 2022 17.7 (set 2023).
  • Visual Studio Code suporta nativamente Arm e pode ser instalado em dispositivos Arm. A extensão VS Code C++ também oferece suporte ao C++ IntelliSense e compilação para o desenvolvimento de aplicativos do Windows que são executados nativamente em dispositivos Arm64.
  • .NET 6+ já suporta Arm, tanto para execução Arm nativa quanto emulação x64. Para desenvolver aplicativos .NET executados nativamente em dispositivos Arm64, instale o novo Visual Studio 2022 17.4 nativo do Arm e o SDK do .NET 8 Arm64. Saiba mais sobre o suporte do .NET 8 para Arm e as melhorias de desempenho para o Arm64 no Blog do .NET: Melhorias de desempenho do Arm64 no .NET 8 (outubro de 2023).
  • SDK do .NET 6 Arm64: Por padrão, se compilares uma aplicação .NET 6 com o SDK do Arm64, ela será executada como Arm64. Use a dotnet-runtimeinfo ferramenta para descobrir o ambiente em que o .NET está sendo executado. Consulte o anúncio do blog sobre o suporte Arm64 no .NET 6 para saber mais.
  • VC++ toolchain (Arm Developer) é a cadeia de ferramentas GNU para versões da Arm Architecture produzidas pela Arm, permitindo que parceiros, desenvolvedores e a comunidade usem novos recursos da recente Arm Architecture e de projetos de código aberto GCC, Binutils, glibc, Newlib e GDB.
  • Suporte Java para Arm no OpenJDK: Anunciando o OpenJDK para Windows no ARM (junho de 2020)
  • Ações do GitHub: As ações do GitHub, o mecanismo de fluxo de trabalho de CI/CD do GitHub, são parte integrante dos fluxos de trabalho de muitos desenvolvedores. Eles usam essa ferramenta para criar, testar e implantar aplicativos continuamente. O GitHub Actions agora está disponível para Windows on Arm em duas versões: 1. corredores auto-hospedados que podes executar numa VM com arquitetura Arm ou num dispositivo Arm, e 2. Runners hospedados no GitHub (atualmente disponíveis em beta privado, mas com lançamento geral previsto para breve).
  • Docker Desktop: Os contêineres são um destino de implantação popular por muitos motivos - um fluxo de trabalho de desenvolvimento simplificado, isolamento e segurança, utilização eficiente de recursos, portabilidade e reprodutibilidade. A área de trabalho do Docker agora é executada nativamente no Windows on Arm.

Observação

O termo Arm é uma abreviação para PCs que executam a versão desktop do Windows em processadores Arm64 (também comumente chamados de AArch64). O termo Arm32 é uma abreviação para a arquitetura Arm de 32 bits (comumente chamada de Arm em outra documentação). PCs alimentados por Arm fornecem excelente compatibilidade de aplicativos e permitem que você execute seus aplicativos x86 win32 existentes não modificados. Os aplicativos Arm são executados nativamente sem qualquer emulação, enquanto os aplicativos x86 e x64 são executados sob emulação em dispositivos Arm.

Arm64EC - Ajuda para atualizar aplicativos do Windows para serem executados no Arm

Gráfico Arm64EC.

O Arm64EC ("Emulation Compatible") permite que você crie novos aplicativos incrementalmente ou faça a portabilidade de aplicativos existentes para aproveitar o desempenho nativo do Arm sempre que possível, enquanto utiliza o código x64 e as bibliotecas existentes até que seja totalmente migrado. Saiba mais:

Dicas adicionais para desenvolver aplicativos do Windows executados em dispositivos Arm

  • Use MSIX para embalar o seu aplicativo para distribuição. Para obter mais informações sobre como o MSIX suporta Arm e Arm64, consulte Arquiteturas de pacotes de aplicativos: Arm e Arm64.

  • Nem todos os projetos do Visual Studio são configurados para iniciar projetos localmente quando você inicia a depuração (F5) de um dispositivo Arm. Talvez seja necessário configurar o Visual Studio para depuração remota, mesmo que seu aplicativo esteja sendo executado localmente. Para obter mais informações, consulte depuração remota.

  • Para localizar e instalar os pacotes recomendados no Visual Studio, visite a página downloads do Visual Studio.

    • Para o Ferramentas Remotas para Visual Studio 2022, role abaixo da seção Todos os downloads e expanda o menu suspenso Ferramentas para Visual Studio 2022. Remote Tools for Visual Studio 2022 está listado nesse local. Certifique-se de verificar o botão de opção Arm64 e, em seguida, Download.
    • Para o Microsoft Visual C++ Redistributable, role abaixo da secção Todos os downloads e expanda o menu suspenso Outras ferramentas e frameworks. O Microsoft Visual C++ Redistributable for Visual Studio 2022 está listado lá. Certifique-se de verificar o botão de opção Arm64 e, em seguida, Download.
    • Se você estiver usando uma versão mais antiga do Visual Studio, selecione o link Downloads mais antigos na parte inferior da página para pesquisar os downloads associados à sua versão do Visual Studio.
  • Quando um utilizador instala a sua aplicação num dispositivo Arm a partir da Microsoft Store, o Windows 11 seleciona automaticamente a versão ideal da sua aplicação que está disponível. Se você enviar as versões x86, Arm32 e Arm64 do seu aplicativo para a Microsoft Store, o sistema operacional instalará automaticamente a versão Arm64 do seu aplicativo. Se você enviar apenas as versões x86 e Arm32 do seu aplicativo, o sistema operacional instalará a versão Arm32. Se você enviar apenas a versão x86 do seu aplicativo, o sistema operacional instalará essa versão e a executará sob emulação.

  • Quando tiver a opção de arquitetura do aplicativo, escolha a versão x86 de 32 bits para executar a versão de 32 bits do aplicativo em um Windows no Arm PC. Se a versão x64 Win32 de um aplicativo não funcionar, a maioria dos aplicativos terá uma versão x86 disponível.

  • Para obter mais informações sobre arquiteturas, consulte Arquiteturas de pacotes de aplicativos.

Serviço de Consultoria App Assure Arm

As nossas orientações para Adicionar suporte Arm à sua aplicação Windows explicam como criar uma versão otimizada para Arm das suas aplicações. O serviço de aconselhamento do App Assure Arm está disponível para ajudar se encontrares dificuldades. Este serviço é adicional à nossa promessa existente: as suas aplicações são executadas no Windows on Arm e, se encontrar algum problema, a Microsoft ajuda-o a corrigi-los. Saiba mais.

Inscreva-se no Serviço de Consultoria Windows Arm.

Recursos adicionais

Recursos externos