2012-01-30 16 views
8

¿El tipo de paquete (x86 o x64) depende de mi tipo de aplicación o del tipo de sistema operativo en el que está instalado?¿Qué paquete redistribuible de VC++ se debe elegir (x86 o x64)?

Es decir, si desarrollo una aplicación de 32 bits ¿necesito

  • implementar el paquete sólo x86 o
  • despliegan ambos paquetes e instalar x86 en Windows de 32 bits y x64 de 64 bits ventanas?

La respuesta a esta pregunta 32-bit VC++ redistributable on 64 bit OS? sugiere que es sólo el paquete x86, por lo que sería dependiente de mi solicitud, pero no da ninguna explicación/enlaces. Los sitios de descarga de MS tampoco son específicos en esto.

+3

Los paquetes redistribuibles no están instalados para admitir su sistema operativo, se instalan para admitir su aplicación. –

+0

... y se debe elegir para que coincida con su compilador. –

+0

@Ben: Por supuesto, para Visual Studio 2008 implementaré los redistribuibles de 2008 AndréCaron: ¿tiene una fuente para eso? –

Respuesta

6

Cuando compila, todo el uso de la biblioteca estándar crea referencias que deben resolverse en tiempo de enlace. El vinculador se hornea en la biblioteca de importación para la (s) DLL (s) de tiempo de ejecución coincidentes, que deben coincidir con por completo al en el momento de la carga. Eso significa que coinciden la versión del compilador, el service pack y la bitness.

Recuerde también que un proceso de 32 bits no puede cargar archivos DLL de 64 bits. Como la redistribución de 64 bits solo contiene archivos DLL de 64 bits, no sirve de nada cuando se carga un archivo ejecutable de 32 bits.

0

depende de la aplicación si necesita maximizar el potencial del sistema operativo de 64 bits, puede implementar ambos para el procesamiento de 64 bits y 32 bits. Sin embargo, si su aplicación no excedió los límites de 32 bits, puede implementar la aplicación en x86 solamente, de todos modos también debería funcionar en sistemas operativos de 64 bits mediante virtualización de 32 bits.

+1

Creo que eso está mal: para maximizar el potencial en un sistema operativo de 64 bits, necesito compilarlo como una aplicación de 64 bits. La pregunta es: si decido compilar una aplicación de 32 bits, ¿necesitaré la x64 redistribuible en un sistema operativo de 64 bits? –

+0

no realmente. puede usar redistribuible de 32 bits ya que la implementación de la aplicación dirigida es de 32 bits, solo necesitará instrucciones de la máquina diseñadas para procesadores de 32 bits. –

Cuestiones relacionadas