C # компиляция для 32/64 бит или для любого процессора?
Возможный дубликат:
objective Visual Studio «Любой процессор»
Я заметил, что при компиляции кода C # в VS обычно существуют параметры для компиляции для 32/64 бит-систем, а также для компиляции для любого процессора.
В чем разница между двумя вариантами? Выбирает ли какой-либо процессор только компиляцию до промежуточного байтового кода, в то время как первый параметр компилируется до машинного кода (для меня это маловероятно)? Или что-то другое?
- Как использовать строки в emu8086
- Размер сборки .NET влияет на производительность?
- Как определить, была ли assembly .NET построена для x86 или x64?
- Динамически заменить содержимое метода C #?
- Дополнительная информация о макете памяти исполняемой программы (процесса)
- Ошибка в построении gradleа после обновления Android Studio с log4j
- Как вы прокручиваете загруженные в настоящее время сборки?
- Как сделать kernel для моего загрузчика?
- Цикл с вызовом функции быстрее, чем пустой цикл
- Visual Studio 2010 не создает перед запуском при изменении кода
- Самый быстрый способ вычисления 128-битного целого по модулю 64-разрядного целого числа
- Примеры предварительной выборки?
- Эффективное умножение матрицы 4x4 (C vs assembly)
На 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 бит.