Будет ли .NET EXE, ориентированный на x86, работать на чипах AMD?

StackOverflow https://stackoverflow.com/questions/315537

  •  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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top