C # compilando para 32/64 bit, o para cualquier cpu? [duplicar]


Posible Duplicado:
Objetivo de Visual Studio "Cualquier CPU"

He notado que al compilar código C# en VS, normalmente hay opciones para compilar para sistemas de 32/64 bits, y también hay una para compilar para cualquier cpu.

¿Cuál es la diferencia entre las dos opciones? ¿Elegir cualquier CPU solo compila hasta un código de byte intermedio mientras que la primera opción compila hasta código máquina (esto me parece poco probable)? O algo ¿else?

Author: Community, 2011-03-08

2 answers

En una máquina de 32 bits:

  • Cualquier CPU: se ejecuta como un proceso de 32 bits, puede cargar Cualquier CPU y x86 asambleas, se obtiene BadImageFormatException si intenta cargar un x64 asamblea.

  • X86 : igual que Cualquier CPU.

  • X64: BadImageFormatException siempre.

En una máquina de 64 bits:

  • Cualquier CPU: se ejecuta como un proceso de 64 bits, puede cargar Cualquier CPU y x64 ensamblados, obtendrá BadImageFormatException si intenta cargar un ensamblado x86.

  • X86: se ejecuta como un proceso de 32 bits, puede cargar Cualquier CPU y x86 asambleas, se obtiene BadImageFormatException si intenta cargar un x64 asamblea.

  • X64 : igual que Cualquier CPU.

Es el compilador JIT que genera un código ensamblador que es compatible con el destino solicitado basado en este indicador.

 163
Author: Jaroslav Jandek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-08 08:10:20

X86: Su software siempre se ejecutará en modo de 32 bits, tanto en sistemas de 32 bits como en sistemas de 64 bits.

X64 - Su software siempre se ejecutará en modo de 64 bits, se ejecutará en el sistema de 64 bits, pero no se ejecutará en el sistema de 32 bits.

Cualquier CPU - Su software se ejecutará de acuerdo con su sistema operativo. si tiene un sistema operativo de 32 bits, su código se ejecutará en modo de 32 bits, si tiene un sistema operativo de 64 bits, su código se ejecutará en modo de 64 bits.

 14
Author: Gilad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-08 07:54:22