C # компиляция для 32/64 бит или для любого процессора?

Возможный дубликат:
objective Visual Studio «Любой процессор»

Я заметил, что при компиляции кода C # в VS обычно существуют параметры для компиляции для 32/64 бит-систем, а также для компиляции для любого процессора.

В чем разница между двумя вариантами? Выбирает ли какой-либо процессор только компиляцию до промежуточного байтового кода, в то время как первый параметр компилируется до машинного кода (для меня это маловероятно)? Или что-то другое?

На 32-битной машине:

  • Любой процессор : работает как 32-битный процесс, может загружать любые сборки процессоров и x86 , получит BadImageFormatException если попытается загрузить сборку x64 .

  • x86 : тот же, что и любой CPU .

  • x64 : BadImageFormatException всегда.

На 64-битной машине:

  • Любой процессор : работает как 64-битный процесс, может загружать любые сборки процессоров и x64 , получит BadImageFormatException если он попытается загрузить сборку x86 .

  • x86 : работает как 32-разрядный процесс, может загружать любые сборки CPU и x86 , получит BadImageFormatException если попытается загрузить сборку x64 .

  • x64 : тот же, что и любой CPU .

Компилятор JIT генерирует код сборки, совместимый с запрошенной целью на основе этого флага.

x86 – Ваше программное обеспечение всегда будет работать в 32-битном режиме, как на 32-битных системах, так и на 64-битных системах.

x64 – Ваше программное обеспечение всегда будет работать в 64-битном режиме, будет работать на 64-битной системе, но не будет работать на 32-битной системе.

Любой процессор – ваше программное обеспечение будет работать в соответствии с вашей ОС. если у вас 32-битная ОС, ваш код будет работать в 32-битном режиме, если у вас есть 64-битная ОС, ваш код будет работать в режиме 64 бит.

  • .Net: Запуск кода при загрузке сборки
  • Есть ли альтернатива Maven или порт для мира .NET?
  • Определить версию сборки (CLR) сборки
  • Медленная инструкция jmp
  • Почему mulss занимает всего 3 цикла на Хасуэлле, отличном от таблиц инструкций Агнера?
  • Как сохранить сборки ASP.NET в AppDomain в живых?
  • В чем разница между MOV и LEA?
  • Могу ли я загрузить сборку .NET во время выполнения и создать экземпляр типа, зная только имя?
  • Инициализировать библиотеку при загрузке сборки
  • Возможно ли одноуровневое многоязычное развертывание Windows Forms (ILMerge и спутниковые сборки / локализация)?
  • _addcarry_u64 и _addcarryx_u64 с MSVC и ICC
  • Interesting Posts

    В чем разница между новыми / delete и malloc / free?

    Почему существует NotImplementedException?

    Динамический ввод строки – с помощью scanf (“% as”)

    Как получить и установить глобальный объект в контексте сервлета Java

    Android AutoCompleteTextView с чипами

    Как вы программно загружаете веб-страницу в Java

    Как изменить цвет ячеек на основе сегодняшней даты в Excel 2010

    Совместное использование или синхронизация домашних папок между компьютерами Mac

    Когда «жирная стрелка» (=>) привязывается к «этому» экземпляру

    Могу ли я использовать скрипт bash в качестве службы в OS X без необходимости устанавливать его автозагрузчиком?

    Как разобрать аргументы командной строки в Java?

    Запуск установки пространства .Net Framwork на тонком клиенте

    Multi-boot: Windows 10 не может видеть один диск ntfs

    Как сбросить права доступа к папкам по умолчанию в Ubuntu?

    ПРЕДУПРЕЖДЕНИЕ: невозможно изменить разрешения для всех:

    Давайте будем гением компьютера.