2017-01-06 20 views
5

Я заметил, что многие программы по-прежнему выпускаются с 32-битными двоичными файлами или даже с 32-битным двоичным кодом. Я хотел бы указать число, в котором важно иметь 32-битный двоичный файл.Насколько распространены 32-разрядные установки Windows на данный момент?

+0

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

ответ

11

Если вашему приложению не требуется больше 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 часто сообщает вам, какие пользователи ОС используют текстовую строку, которая часто включает в себя архитектуру ЦП (например, отчеты Chrome Win64; x64).
  • Процент пользователей в 64-битных системах ОС также будет отличаться географически - я ожидаю, что более высокая доля пользователей 32-разрядных ОС на «развивающихся рынках» будет более широко использоваться более старыми (особенно импортными подержанными) машинами чем в более развитых странах. Аналогичным образом сегменты рынка, которые в значительной степени привязаны к устаревшему программному обеспечению, например государственным ведомствам и многим предприятиям, будут работать с 32-разрядной ОС Windows, чтобы сохранить совместимость с 16-разрядными версиями программного обеспечения или поддержку 32-разрядных драйверов устройств.

Вместо того, чтобы приверженность либо 32-битной или 64-битной, когда речь идет о распространении исполняемого файла, вы можете сделать так: В то время как Windows PE исполняемых файлов (.exe и .dll файлы), к сожалению, не имеют «жир двоичная "функция, которую выполняет macOS (где один исполняемый файл может содержать инструкции для разных архитектур), вы можете на самом деле fake жир-двоичный файл с использованием обходного пути в Windows, используемый служебными программами Sysinternals; который должен иметь 32-разрядный исполняемый файл, который содержит 64-битный двоичный файл в качестве встроенного ресурса, и работает следующим образом:

  1. Это 32-разрядная ОС? Если это так, то работать в нормальном режиме
  2. В противном случае, это 32-разрядный процесс на 64-битной системе, поэтому извлечь 64-битный .exe версии во временный каталог
  3. Запустите извлеченный 64-разрядная версия
  4. Self-terminate