Exportar (0) Imprimir
Expandir todo

Aplicaciones de 64 bits

Al empezar a usar Visual Studio 2005 puede compilar su aplicación y especificar que debe ejecutarse en un sistema operativo de 64 bits en lugar de en una aplicación nativa o bajo WOW64. WOW64 es un entorno de compatibilidad facilitado por el sistema operativo que permite que una aplicación de 32 bits se ejecute en un sistema operativo de 64 bits de Windows.

Comentarios

Todas las aplicaciones generadas con las versiones 1.0 y 1.1 de .NET Framework se tratan como aplicaciones de 32 bits y se ejecutan bajo WOW64 en common language runtime (CLR) de 32 bits en un sistema operativo de 64 bits. Además, las aplicaciones específicas de 32 bits generadas con la versión 2.0 de .NET Framework se ejecutarían bajo WOW64 en las plataformas de 64 bits.

Visual Studio 2005 instala la versión 2.0 de 32 bits del CLR en un equipo x86, y la versión 2.0 de 32 bits y de 64 bits apropiada del CLR en un equipo Windows de 64 bits. (Visual Studio 2005 es una aplicación de 32 bits y cuando se instala en un sistema operativo Windows de 64 bits se ejecutará bajo WOW64).

NoteNota

Debido al diseño de emulación de x86 y al subsistema de WOW64 para la familia de procesadores Itanium, la ejecución de las aplicaciones está restringida a un único procesador. La ejecución y la emulación de x86 en un único procesador reducen el rendimiento y escalabilidad de las aplicaciones de .NET Framework de 32 bits que se ejecutan en sistemas basados en Itanium. Se recomienda que dichas aplicaciones usen .NET Framework Versión 1.1 para las aplicaciones interactivas de cliente, y no para aplicaciones que demanden un alto rendimiento o escalabilidad, por ejemplo las aplicaciones ASP.NET de carga alta. Considere la posibilidad de utilizar .NET Framework Versión 2.0, que incluye compatibilidad con 64 bits nativa para los sistemas basados en Itanium, para un mayor rendimiento y escalabilidad.

Al igual que con los sistemas operativos Windows de 32 bits, existe un límite de 2 GB en el tamaño de un objeto que pueda crear al ejecutar una aplicación administrada de 64 bits en un sistema operativo de 64 bits.

En muchos casos, los ensamblados se ejecutarán igual en el CLR de 32 bits o de 64 bits. Entre las razones para que un programa se comporte de manera diferente si lo ejecuta el CLR de 64 bits se incluyen:

  • Estructuras que contengan miembros cuyo tamaño varía según la plataforma, como cualquier tipo de puntero.

  • Aritmética de punteros que incluya tamaños constantes.

  • Una invocación incorrecta de la plataforma o declaraciones COM que utilicen Int32 para los identificadores en lugar de IntPtr.

  • La conversión de IntPtr a Int32.

Para obtener más información sobre cómo trasladar la aplicación de 32 bits para que se ejecute en el CLR de 64 bits, vea http://msdn.microsoft.com/library/?url=/library/en-us/dndotnet/html/64migrate.asp.

Información general de programación de 64 bits

Para obtener información general sobre los problemas de programación de 64 bits vea,

Para obtener información sobre la compatibilidad en el entorno de desarrollo de Visual Studio para crear aplicaciones de 64 bits, vea Compatibilidad con la programación de 64 bits del entorno de desarrollo de Visual Studio.

Compatibilidad del compilador para crear aplicaciones de 64 bits

Una aplicación generada mediante .NET Framework 2.0 (en un equipo de 32 o 64 bits) se ejecutará de forma predeterminada como una aplicación nativa (no bajo WOW64) en un equipo de 64 bits. La siguiente tabla enumera temas que explican cómo usar los compiladores de Visual Studio para crear aplicaciones de 64 bits que se ejecuten como nativas, bajo WOW64, o en ambas situaciones.

Compilador Opción del compilador

Visual Basic

/platform (Visual Basic)

Visual C#

/platform (Especificar la plataforma de los resultados) (Opciones del compilador de C#)

Visual C++

Puede crear aplicaciones de MSIL válidas para la plataforma con /clr:safe; vea /clr (Compilación de Common Language Runtime) para obtener más información.

Visual C++ distribuye compiladores independientes destinados a cada sistema operativo de 64 bits. Para obtener información adicional sobre cómo utilizar Visual C++ para crear aplicaciones nativas que se ejecuten en un sistema operativo Windows de 64 bits, vea Programación de 64 bits con Visual C++.

Visual J#

El compilador de Visual J# sólo puede crear aplicaciones de 32 bits en Visual Studio 2005. Cuando se ejecute en un sistema operativo Windows de 64 bits, una aplicación compilada con Microsoft Visual J# 2005 se ejecutará bajo WOW64. (Los archivos binarios de JDK, de los que depende el compilador de Visual J#, incluso para aplicaciones que no realizan llamadas de JDK, son de 32 bits).

Si una imagen válida para la plataforma carga un archivo .dll de Visual J# en un sistema operativo Windows de 64 bits, la aplicación que realiza la llamada fallará en tiempo de ejecución.

JScript

/platform (JScript)

Determinar el estado de un archivo .exe o .dll

Use corflags.exe en la línea de comandos para ver si un archivo .exe o .dll sólo se puede ejecutar en una plataforma específica o bajo WOW64. También puede utilizar corflags.exe para cambiar el estado de la plataforma de un archivo .exe o .dll. Vea Herramienta de conversión de CorFlags (CorFlags.exe) para obtener más información. Un encabezado CLR de un ensamblado Visual Studio 2005 (o encabezado en tiempo de ejecución COM+) tiene el número de versión en tiempo de ejecución secundario establecido en 2 y el número de versión en tiempo de ejecución principal establecido en 5. En los ensamblados de Visual Studio 2003, son 2 y 0, respectivamente. Todas las aplicaciones que tiene la versión en tiempo de ejecución secundaria establecida en 0 se tratan como aplicaciones heredadas y siempre se ejecutan bajo WOW64 en equipos de 64 bits.

Use GetPEKind para comprobar mediante programación si un archivo .exe o .dll sólo se puede ejecutar en una plataforma específica o bajo WOW64.

Vea también

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft