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?
Odpowiedz
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 ChromeWin64; 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:
- Czy jest to 32-bitowy system operacyjny? Jeśli tak, to uruchomi się normalnie
- W przeciwnym razie, jest to proces 32-bitowy w systemie 64-bitowym, więc wyodrębnić 64-bitową
.exe
wersji do katalogu tymczasowego - Zacznij wyodrębnione 64-bitowa wersja
- Samo-zakończenie:
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. –