2017-01-06 14 views
5

Zauważyłem, że wiele programów wciąż jest wydanych z 32-bitowymi plikami binarnymi, a nawet 32-bitowymi plikami binarnymi. Chciałbym podać, jak ważne jest posiadanie 32-bitowego pliku binarnego.Jak często są 32-bitowe instalacje systemu Windows od teraz?

+0

Bardzo niewielki procent programów skorzysta z wersji 64-bitowej (te, które wymagają dużej ilości pamięci, a szybkość wykonywania jest mniej ważna). Ogromna większość programów nie ma tych wymagań, a dla tej większości instalacje 32-bitowe będą tym, co jest potrzebne. –

Odpowiedz

11

Jeśli twoja aplikacja naprawdę nie potrzebuje więcej niż 2 gigabajtów przestrzeni pamięci lub zyskuje znaczną korzyść z nowych i szybszych operacji na architekturze x64, nie musisz rezygnować z budowania dla 32-bitowego x86, biorąc pod uwagę kompatybilność wstecz 100% x64 (ale 16-bitowy x86 to zupełnie inna sprawa) - najlepiej utrzymywać rzeczy prostsze dla użytkowników za pomocą jednego pliku wykonywalnego, który może być uruchamiany w dowolnym miejscu (przynajmniej na wszystkich instalacjach systemu Windows w dowolnym miejscu).

Odpowiedź na to pytanie zależy od liczby użytkowników target:

  • Ludzie piszący oprogramowanie biznesowe dla użytku wewnętrznego będzie (lub powinien) dokładnie wiedzieć, jaki sprzęt oni kierowania.
  • Jeśli piszesz gry, zapoznaj się z regularnie aktualizowaną ankietą sprzętu Steam - http://store.steampowered.com/hwsurvey/ - która (stan na 2017-12-06) informuje, że 97,9% użytkowników korzysta z 64-bitowej wersji systemu Windows - co daje tylko 2,1% w 32-bitowym systemie Windows, chociaż nie mówi, jaki odsetek 32-bitowych użytkowników systemu Windows faktycznie działa na sprzęcie obsługującym x64. Ale gracze na Steamie są zwykle w segmencie "entuzjastów komputerów", którzy będą uruchamiać nowszy sprzęt, więc użycie 64-bitowego sprzętu i instalacji systemu operacyjnego nie będzie reprezentatywne dla wszystkich użytkowników komputerów na całym świecie.
  • Jeśli piszesz oprogramowanie ogólnego przeznaczenia do dystrybucji z własnej strony internetowej, spójrz na swoje logi serwera sieciowego, ponieważ nagłówek User-Agent często mówi ci, z jakich użytkowników systemu operacyjnego korzysta się z ciągiem tekstowym, który często zawiera architekturę procesora (np. raporty Chrome Win64; x64).
  • Odsetek użytkowników 64-bitowych systemów operacyjnych będzie również różnił się geograficznie - spodziewam się, że wyższy odsetek użytkowników 32-bitowego systemu operacyjnego na "rynkach wschodzących" będzie miał szersze zastosowanie starszych (szczególnie importowanych używanych) maszyn niż w bardziej rozwiniętych gospodarkach. Podobnie segmenty rynku, które są mocno powiązane ze starszym oprogramowaniem, takim jak departamenty rządowe i wiele firm, będą uruchamiać 32-bitowy system operacyjny Windows, aby zachować 16-bitową kompatybilność oprogramowania lub obsługę sterowników 32-bitowych.

Zamiast dokonywania zaangażowanie zarówno 32-bitowe lub 64-bitowy, jeśli chodzi o dystrybucję pliku wykonywalnego, można to zrobić zarówno: Podczas wykonywalne systemu Windows PE (.exe i .dll pliki) niestety nie mają „tłuszcz binarna "funkcja, którą posiada macOS (gdzie pojedynczy plik wykonywalny może zawierać instrukcje dla różnych architektur), może być w rzeczywistości fałszywym fat-binary przy użyciu obejścia w systemie Windows, używanego przez programy narzędziowe Sysinternals; który ma mieć 32-bitowy plik wykonywalny, który zawiera 64-bitowy plik binarny jako zasób osadzony i działa tak:

  1. Czy jest to 32-bitowy system operacyjny? Jeśli tak, to uruchomi się normalnie
  2. W przeciwnym razie, jest to proces 32-bitowy w systemie 64-bitowym, więc wyodrębnić 64-bitową .exe wersji do katalogu tymczasowego
  3. Zacznij wyodrębnione 64-bitowa wersja
  4. Samo-zakończenie:
Powiązane problemy