Compilando para janelas ARM

0

A Microsoft lançou uma versão completa de Windows 10 for ARM Architecture , para rodar em processadores Snapdragon.

Inclui uma camada de emulação para executar binários x86 fora da caixa. No entanto, espero que essa emulação diminua o desempenho em comparação com a execução de software na arquitetura para a qual ele foi compilado.

Portanto, gostaria de saber se seria uma boa idéia para os usuários compilarem software para o ARM e executá-lo diretamente sem precisar de emulação. O objetivo disso seria ignorar a camada de emulação, aumentando assim o desempenho.

Este seria um software que muitas pessoas usam regularmente e têm o código-fonte, como o Chromium, o Firefox, o Libre Office, o GIMP, o Audacity, o Open Shot, o VLC Player, etc.

Isso é factível? O Windows 10 para ARM permitirá que alguém instale binários compilados pela ARM?

Como alguém pode compilar o software Windows para ARM?

    
por Revetahw 31.12.2017 / 20:12

1 resposta

1

Instale o SDK do Windows 10 e WDK (pelo menos compilação 16299) para obter o Compilador ARM para aplicativos da área de trabalho.

AbraaconfiguraçãodoprojetoecrieaconfiguraçãodoARM(64):

Sevocêtentarcompilá-lo,receberáumerroinformandoqueoARM64nãoécompatívelcomoDesktop:

Paracorrigirisso,descarregueoprojetoeabra-onoeditoreincluaalinha<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>naentradadedepuraçãoeliberaçãodoARM64:

<PropertyGroupCondition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>true</UseDebugLibraries>
    <PlatformToolset>v141</PlatformToolset>
    <CharacterSet>Unicode</CharacterSet>
    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <UseDebugLibraries>false</UseDebugLibraries>
    <PlatformToolset>v141</PlatformToolset>
    <WholeProgramOptimization>true</WholeProgramOptimization>
    <CharacterSet>Unicode</CharacterSet>
    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
  </PropertyGroup>

e WindowsSDKDesktopARMSupport para o 32Bit ARM.

Salvar alterações, carregar o projeto novamente e agora a compilação funciona bem:

    
por 01.01.2018 / 09:29