Я заметил, что многие программы по-прежнему выпускаются с 32-битными двоичными файлами или даже с 32-битным двоичным кодом. Я хотел бы указать число, в котором важно иметь 32-битный двоичный файл.Насколько распространены 32-разрядные установки Windows на данный момент?
ответ
Если вашему приложению не требуется больше 2 Гбайт пространства памяти или получает значительную выгоду от новых и более быстрых операций x64, нет необходимости отходить от построения для 32-разрядного x86, учитывая 100% обратную совместимость x64 (но 16-разрядный x86 - это совсем другое дело) - в идеале упростить для ваших пользователей единый исполняемый файл, который может работать где угодно (по крайней мере, на всех установках Windows в любом месте).
Ответ на ваш вопрос зависит от базы целевого пользователя:
- Люди пишут бизнес-программное обеспечение для внутреннего использования будет (или должен) точно знать, какое оборудование они ориентации.
- Если вы пишете игры, ознакомьтесь с регулярно обновляемым обзором оборудования Steam - http://store.steampowered.com/hwsurvey/ - который (по состоянию на 2017-12-06) сообщает, что 97,9% пользователей используют 64-битную сборку Windows - предоставление только 2,1% на 32-битной Windows, хотя он не говорит, какой процент 32-разрядных пользователей Windows фактически работает на оборудовании, совместимом с x64. Но геймеры в Steam, как правило, находятся в сегменте «компьютерный энтузиаст», который будет запускать более поздние аппаратные средства, поэтому использование 64-битного аппаратного обеспечения и установки ОС не будет представлять всех пользователей компьютеров во всем мире.
- Если вы пишете программное обеспечение общего назначения для распространения на своем собственном веб-сайте, то посмотрите на свои лог-файлы вашего веб-сервера, потому что заголовок
User-Agent
часто сообщает вам, какие пользователи ОС используют текстовую строку, которая часто включает в себя архитектуру ЦП (например, отчеты ChromeWin64; x64
). - Процент пользователей в 64-битных системах ОС также будет отличаться географически - я ожидаю, что более высокая доля пользователей 32-разрядных ОС на «развивающихся рынках» будет более широко использоваться более старыми (особенно импортными подержанными) машинами чем в более развитых странах. Аналогичным образом сегменты рынка, которые в значительной степени привязаны к устаревшему программному обеспечению, например государственным ведомствам и многим предприятиям, будут работать с 32-разрядной ОС Windows, чтобы сохранить совместимость с 16-разрядными версиями программного обеспечения или поддержку 32-разрядных драйверов устройств.
Вместо того, чтобы приверженность либо 32-битной или 64-битной, когда речь идет о распространении исполняемого файла, вы можете сделать так: В то время как Windows PE исполняемых файлов (.exe
и .dll
файлы), к сожалению, не имеют «жир двоичная "функция, которую выполняет macOS (где один исполняемый файл может содержать инструкции для разных архитектур), вы можете на самом деле fake жир-двоичный файл с использованием обходного пути в Windows, используемый служебными программами Sysinternals; который должен иметь 32-разрядный исполняемый файл, который содержит 64-битный двоичный файл в качестве встроенного ресурса, и работает следующим образом:
- Это 32-разрядная ОС? Если это так, то работать в нормальном режиме
- В противном случае, это 32-разрядный процесс на 64-битной системе, поэтому извлечь 64-битный
.exe
версии во временный каталог - Запустите извлеченный 64-разрядная версия
- Self-terminate
Очень маленький процент программ принесет пользу из 64-разрядной версии (те, которые требуют огромного объема памяти и скорости выполнения, менее важны). Подавляющее большинство программ не имеют этих требований, и для большинства 32-разрядных установок большинство из них будет тем, что необходимо. –