Directrices generales de migración

Migrar aplicaciones de 32 bits a Microsoft Windows de 64 bits será más fácil que migrar aplicaciones de 16 bits a Windows de 32 bits. Sin embargo, el movimiento irá más suavemente con una planeación cuidadosa. A continuación se muestran algunas directrices generales.

Planificación

  • Determine la magnitud del esfuerzo necesario para el puerto. Mida el número de trabajo implicado mediante la identificación de los siguientes elementos:

    • Problema de código de 32 bits. Compile el código de 32 bits con el compilador de 64 bits y examine la extensión de los errores y advertencias.
    • Componentes o dependencias compartidos. Determine qué componentes de la aplicación se originan en otros equipos y si esos equipos planean desarrollar versiones de 64 bits de su código.
    • Código heredado o de ensamblado. Las aplicaciones basadas en Windows de 16 bits no se ejecutan en Windows de 64 bits y se deben reescribir. Aunque el código de ensamblado x86 se ejecuta en WOW64, es posible que desee reescribir este código para aprovechar la velocidad de la arquitectura de Intel Itanium.
  • Portar toda la aplicación, no solo partes de ella.

    Aunque es posible portar partes de una aplicación o limitar el código a 2G con /LARGEADDRESSAWARE:NO, esta estrategia negocia una ganancia a corto plazo para el dolor a largo plazo.

    Nota

    /LARGEADDRESSAWARE:NO se omite para un binario ARM64.

     

  • Buscar sustitutos de las tecnologías que no se migrarán.

    Algunas tecnologías, como DAO (objeto de acceso a datos) y el motor de base de datos Jet Red, no se migrarán a Windows de 64 bits.

  • Trate la versión de 64 bits como una versión de producto independiente.

    Aunque el producto de 64 bits puede compartir la misma base de código que su 32 bits, necesita pruebas adicionales y puede tener otras consideraciones de versión.

Desarrollo

  • Empiece a desarrollar código compatible ahora.

    Los desarrolladores pueden empezar a escribir código compatible mediante los archivos de encabezado de Windows más recientes y los nuevos tipos de datos sin efectos adversos en el desarrollo de productos de 32 bits. Para obtener más información, consulte Getting Ready for 64-bit Windows (Preparación para Windows de 64 bits).

  • Asegúrese de que el código se puede compilar para Windows de 32 y 64 bits.

    El nuevo modelo de datos se diseñó para permitir la compilación de aplicaciones de 32 y 64 bits a partir de una sola base de código con pocas modificaciones. Los equipos de desarrollo de SQL Server y Windows están desarrollando versiones de 32 y 64 bits de sus productos desde la misma base de código.

  • Use las nuevas características de optimización del compilador para obtener el mejor rendimiento.

    La optimización de código para procesadores Itanium intel es más importante que para el x86. El compilador asume muchas de las funciones de optimización que el microprocesador controló anteriormente. Puede maximizar el rendimiento de una aplicación de 64 bits mediante dos nuevas características de optimización del compilador: Optimización guiada por perfiles y Optimización de todo el programa. Ambas características dan lugar a tiempos de compilación más largos y requieren el desarrollo temprano de buenos escenarios de prueba.

    La optimización guiada por perfiles implica un proceso de compilación en dos pasos. Durante la primera compilación, el código se instrumenta para capturar el comportamiento de ejecución. Esta información se usa durante la segunda compilación para guiar todas las características de optimización.

    Optimización de todo el programa analiza el código en todos los archivos de aplicación, no solo uno. Este enfoque aumenta el rendimiento de varias maneras, incluida una mejor inserción, así como un análisis de efectos secundarios mejorado y convenciones de llamada personalizadas.

Prueba

  • Determine si probará el código de 64 o 32 bits que se ejecuta en WOW64.

    Algunas aplicaciones incluyen código nativo de 64 bits y código de 32 bits que se ejecuta en WOW64. Investigue esto detenidamente al desarrollar un plan de prueba y decida si las herramientas de prueba deben ser de 64 bits, 32 bits o una combinación. A menudo, tendrá que probar las versiones de 64 y 32 bits de la aplicación en Windows de 64 bits.

  • Probar componentes de 32 bits usados con frecuencia.

    En primer lugar, vuelva a compilar el código en 64 bits y pruebe. En segundo lugar, corrija los problemas, vuelva a compilar en 32 bits y, a continuación, pruebe. En tercer lugar, vuelva a compilar a 64 bits y pruebe.

  • Pruebe los componentes COM y RPC.

    Asegúrese de que los componentes COM y RPC de 32 y 64 bits se comunican correctamente. También puede que tenga que probar las comunicaciones con componentes de 16 bits a través de una red.

  • Pruebe la versión de 32 bits en Windows de 64 bits.

    Los clientes pueden seguir usando aplicaciones de 32 bits en Windows de 64 bits, donde los problemas de rendimiento y memoria no son consideraciones importantes.

  • Pruebe diferentes configuraciones de memoria.

    Agregar grandes cantidades de memoria en el servidor a veces expone problemas desapercibidos anteriormente en la aplicación o en el sistema operativo.