Будет ли .NET EXE, ориентированный на x86, работать на чипах AMD?
-
10-07-2019 - |
Вопрос
Если я выберу платформу x86 для своего приложения .NET, будет ли оно нормально работать на чипах AMD? Я знаю, что он будет работать с чипами Intel, и что в Vista 64 есть возможность запускать приложения x86 в специальном режиме, но я не знаю, сколько из них аппаратное, а какое - ОС. Р>
Я протестировал его на Vista 64 с чипом Intel, и он отлично работает, но у меня нет машины AMD для тестирования. Р>
Решение
Да - они двоично совместимы, иначе они не будут взаимозаменяемыми заменами друг друга:)
Если вы не имеете в виду IA64 против AMD64 - это несовместимые архитектуры.
Другие советы
Да, он будет работать, но будет работать как 32-битный процесс вместо 64-битного. Уровень абстракции выполняется на уровне ОС путем введения в подсистему. Это называется Wow64 (Windows на Windows 64). Это позволяет 32-битным процессам работать на 64-битной машине. Р>
Он сломается только в случае низкоуровневой интеграции ядра. Вероятно, что-то, что вы не делаете с .Net App.
Он будет работать нормально
Это не имеет ничего общего с Intel или AMD, оно работает на всех брендах с одинаковой аппаратной архитектурой. 32-разрядные приложения могут работать в 32-разрядных и 64-разрядных ОС. 64-битные приложения работают только на 64-битных ОС (и 64-битном оборудовании).
Ключевым моментом здесь является то, что .NET-код нацелен на CLR, поэтому любые проблемы на уровне процессора должны быть там освещены ... Я не знаю это точно, но я считаю, что для x86 существует несколько версий CLR / 64.