Partilhar via


Diretrizes gerais de portabilidade

Portar aplicativos de 32 bits para o Microsoft Windows de 64 bits será mais fácil do que estava portando aplicativos de 16 bits para o Windows de 32 bits. No entanto, a mudança será mais tranquila com algum planejamento cuidadoso. Seguem-se algumas orientações gerais.

Planeamento

  • Determinar a magnitude do esforço necessário para o porto. Avalie quanto trabalho está envolvido, identificando os seguintes itens:

    • Problema de código de 32 bits. Compile seu código de 32 bits com o compilador de 64 bits e examine a extensão dos erros e avisos.
    • Componentes ou dependências compartilhadas. Determine quais componentes em seu aplicativo se originam de outras equipes e se essas equipes planejam desenvolver versões de 64 bits de seu código.
    • Código legado ou de montagem. Os aplicativos baseados no Windows de 16 bits não são executados no Windows de 64 bits e devem ser reescritos. Enquanto o código de montagem x86 é executado no WOW64, você pode querer reescrever esse código para aproveitar a velocidade da arquitetura Intel Itanium.
  • Transfira toda a aplicação, não apenas partes dela.

    Embora seja possível portar partes de um aplicativo ou limitar o código a 2G com /LARGEADDRESSAWARE:NO, essa estratégia troca ganho de curto prazo por dor de longo prazo.

    Observação

    /LARGEADDRESSAWARE:NO é ignorado para um binário ARM64.

     

  • Encontre substitutos para tecnologias que não serão portadas.

    Algumas tecnologias, incluindo DAO (Data Access Object) e o mecanismo de banco de dados Jet Red, não serão portadas para o Windows de 64 bits.

  • Trate sua versão de 64 bits como uma versão de produto separada.

    Mesmo que seu produto de 64 bits possa compartilhar a mesma base de código que seu produto de 32 bits, ele precisa de testes adicionais e pode ter outras considerações de versão.

Desenvolvimento

  • Comece a desenvolver código compatível agora.

    Os desenvolvedores podem começar a escrever código compatível usando os arquivos de cabeçalho mais recentes do Windows e os novos tipos de dados sem efeitos adversos no desenvolvimento de produtos de 32 bits. Para obter mais informações, consulte Pronto para o Windows de 64 bits.

  • Certifique-se de que seu código pode ser compilado para Windows de 32 e 64 bits.

    O novo modelo de dados foi projetado para permitir que aplicativos de 32 e 64 bits sejam construídos a partir de uma única base de código com poucas modificações. As equipes de desenvolvimento do SQL Server e do Windows estão desenvolvendo versões de 32 e 64 bits de seus produtos a partir da mesma base de código.

  • Use os novos recursos de otimização do compilador para obter o melhor desempenho.

    A otimização de código para processadores Intel Itanium é mais importante do que era para o x86. O compilador assume muitas das funções de otimização anteriormente manipuladas pelo microprocessador. Você pode maximizar o desempenho de um aplicativo de 64 bits usando dois novos recursos de otimização do compilador: Profile Guided Optimization e Whole Program Optimization. Ambos os recursos resultam em tempos de compilação mais longos e exigem o desenvolvimento inicial de bons cenários de teste.

    Otimização Guiada por Perfil envolve um processo de compilação em duas etapas. Durante a primeira compilação, o código é instrumentado para capturar o comportamento de execução. Essas informações são usadas durante a segunda compilação para orientar todos os recursos de otimização.

    Whole Program Optimization analisa o código em todos os arquivos de aplicativos, não apenas em um. Esta abordagem aumenta o desempenho de várias formas, incluindo uma melhor integração de código, bem como uma análise aprimorada dos efeitos colaterais e convenções de chamada personalizadas.

Testes

  • Determine se você testará o código de 64 ou 32 bits em execução no WOW64.

    Alguns aplicativos incluem código nativo de 64 bits e código de 32 bits em execução no WOW64. Investigue isso de perto ao desenvolver um plano de teste e decida se suas ferramentas de teste devem ser de 64 bits, 32 bits ou uma combinação. Muitas vezes, você precisará testar as versões de 64 e 32 bits do seu aplicativo no Windows de 64 bits.

  • Teste componentes de 32 bits usados com freqüência.

    Primeiro, recompile seu código para 64 bits e teste. Em segundo lugar, corrija problemas, recompile em 32 bits e, em seguida, teste. Em terceiro lugar, recompile para 64 bits e teste.

  • Teste os componentes COM e RPC.

    Certifique-se de que os componentes COM e RPC de 32 e 64 bits se comuniquem corretamente. Também poderá ter de testar comunicações com componentes de 16 bits através de uma rede.

  • Teste sua versão de 32 bits no Windows de 64 bits.

    Os clientes podem continuar a usar aplicativos de 32 bits no Windows de 64 bits onde problemas de desempenho e memória não são considerações importantes.

  • Teste diferentes configurações de memória.

    Adicionar grandes quantidades de memória no servidor às vezes expõe problemas anteriormente despercebidos no aplicativo ou no sistema operacional.