Compartilhar via


Diretrizes gerais de portabilidade

A portabilidade de aplicativos de 32 bits para o Microsoft Windows de 64 bits será mais fácil do que a portabilidade de aplicativos de 16 bits para o Windows de 32 bits. No entanto, a mudança será mais tranquila com algum planejamento cuidadoso. Veja a seguir algumas diretrizes gerais.

Planejamento

  • Determine a magnitude do esforço necessário para a porta. 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 compartilhados. 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 de assembly ou herdado. Aplicativos baseados no Windows de 16 bits não são executados no Windows de 64 bits e devem ser reescritos. Embora o código do assembly x86 seja executado no WOW64, convém reescrever esse código para aproveitar a velocidade da arquitetura do Intel Itanium.
  • Portar todo o aplicativo, não apenas partes dele.

    Embora seja possível portar partes de um aplicativo ou limitar o código a 2G com /LARGEADDRESSAWARE:NO, essa estratégia troca o ganho de curto prazo por problemas 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 (Objeto de Acesso a Dados) 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 separada do produto.

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

Desenvolvimento

  • Comece a desenvolver o código em conformidade agora.

    Os desenvolvedores podem começar a escrever código em conformidade 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 Preparando-se para o Windows de 64 bits.

  • Verifique se o código pode ser compilado para o Windows de 32 e 64 bits.

    O novo modelo de dados foi projetado para permitir que aplicativos de 32 e 64 bits sejam criados 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 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 pressupõe que 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: Otimização Guiada por Perfil e Otimização de Programas Inteiros. Ambos os recursos resultam em tempos de build mais longos e exigem o desenvolvimento antecipado de bons cenários de teste.

    A 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 o segundo compilado para orientar todos os recursos de otimização.

    A Otimização de Programas Inteira analisa o código em todos os arquivos de aplicativo, não apenas em um único. Essa abordagem aumenta o desempenho de várias maneiras, incluindo melhor inlining, bem como análise de efeito colateral aprimorada e convenções de chamada personalizadas.

Teste

  • 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 durante o desenvolvimento de 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 aplicativo no Windows de 64 bits.

  • Testar componentes de 32 bits usados com frequência.

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

  • Testar componentes COM e RPC.

    Verifique se os componentes COM e RPC de 32 e 64 bits se comunicam corretamente. Talvez você também precise testar as comunicações com componentes de 16 bits em 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.

    A adição de grandes quantidades de memória no servidor às vezes expõe problemas não notados anteriormente no aplicativo ou no sistema operacional.