В чем разница между установкой 32-битных или 64-битных приложений на 64-битной Windows? - PullRequest
16 голосов
/ 02 ноября 2010

Итак, очевидно, вы можете установить как 32-битные, так и 64-битные скомпилированные приложения в 64-битной системе Windows (Vista или 7).

В чем причина того, что обе версии могут работать на 64-битной ОС?Это хорошая практика для установки 64-битных приложений на 64-битной ОС?Какие-либо преимущества / недостатки сочетания 32-битных приложений с 64-битной ОС?

Спасибо!

Ответы [ 5 ]

20 голосов
/ 02 ноября 2010

В чем причина того, что обе версии могут работать на 64-битной ОС?

Если ОС не может запускать какие-либо старые (32-битные) приложения, никто не захочет ее использовать.Поэтому им пришлось искать способ.

Это хорошая практика для установки 64-битных приложений на 64-битной ОС?

Обычно да, они могут использовать больше памяти и могут работать несколько быстрее.Однако 64-битное приложение не может вызывать 32-битную DLL, поэтому вы можете столкнуться с проблемами.

Какие-либо преимущества / недостатки комбинирования 32-битных приложений с 64-битной ОС?

Не совсем, за исключением того, что, конечно, они не смогут использовать более 4 ГБ ОЗУ и могут работать немного медленнее, чем в 32-битной ОС на том же оборудовании.

8 голосов
/ 02 ноября 2010

64-разрядные версии Windows поставляются с подсистемой Windows on Windows 64 (WOW64), которая позволяет запускать 32-разрядные приложения. Весь процесс на самом деле довольно сложный, и вы можете прочитать об этом по адресу:

Как Windows 7 / Vista 64 поддерживает 32-битные приложения

Если у вас 64-разрядная ОС, а поставщик приложений предоставляет 64-разрядную версию, установите ее. Если нет, установка 32-битной версии не повредит.

Несомненным преимуществом является возможность комбинировать 32-разрядные и 64-разрядные приложения на одном компьютере, поскольку не все производители предоставляют 64-разрядные версии своих приложений. Операционная система, которая позволяет вам запускать обе программы, предоставит вам доступ к более широкому набору программного обеспечения, доступного для потребителей.

4 голосов
/ 02 ноября 2010

Не каждая программа доступна в 64-битной версии.

Да, обычно, по возможности, следует использовать 64-битные приложения.

Объединение 32-битных и 64-битных приложений - это боль и никогда не хорошая идея. Обычно это делается только по необходимости (возвращаясь к моему первому пункту).

3 голосов
/ 02 ноября 2010

Современные процессоры, использующие архитектуру, такую ​​как x64, могут выполнять как 32-битные, так и 64-битные приложения.

32-битные операционные системы могут выделять только 4 ГБ памяти (2 ^ 32 = 4294967296), тогда как 64-битные могут выделять намного больше(2 ^ 64 = 18446744073709551616).

Рекомендуется устанавливать 64-битные приложения в 64-битной ОС, поскольку они смогут использовать всю память вашего компьютера, если у вас больше 4 ГБ.

3 голосов
/ 02 ноября 2010

В зависимости от фактической реализации 32-битное приложение потребует некоторой специальной обработки для запуска в 64-битной операционной системе, тогда как 64-битное приложение будет работать «изначально» в 64-битной операционной системе, поэтому должно работать «лучше» (дляразличные значения «лучше» - например, доступ к большему количеству памяти).Эта «специальная обработка» может просто запускать подмножество набора команд, но для этого потребуется маршалинг и т. Д.

Так что имеет смысл установить 64-битную версию программы, где она доступна.

Тем не менее, есть коммерческий смысл разрешать запуск 32-битных программ, поскольку существует гораздо больше 32-битных приложений, чем 64-битных.Со временем приложения, которые все еще продаются, будут обновлены, и может наступить время, когда будущая версия Windows не будет поддерживать 32-битные программы (точно так же, как 16-битные платы ушли).

...