2017-01-06 3 views
5

Ich habe bemerkt, dass viele Programme noch mit 32-Bit-Binärdateien oder sogar nur eine 32-Bit-Binärdatei freigegeben sind. Ich möchte darauf hinweisen, wie wichtig es ist, eine 32-Bit-Binärdatei zur Verfügung zu haben.Wie üblich sind 32-Bit-Windows-Installationen ab sofort?

+0

Ein sehr kleiner Prozentsatz von Programmen wird von einer 64-Bit-Version profitieren (diejenigen, die große Mengen an Speicher benötigen und die Ausführungsgeschwindigkeit ist weniger wichtig). Die überwiegende Mehrheit der Programme hat diese Anforderungen nicht, und für diese Mehrheit werden 32-Bit-Installationen benötigt. –

Antwort

11

Sofern Ihre Anwendung nicht mehr als 2GiB Speicherplatz benötigt oder einen erheblichen Nutzen aus den neuen und schnelleren x64-Vorgängen zieht, müssen Sie nicht für 32-Bit x86 bauen, da x64 100% abwärtskompatibel ist (aber 16-Bit x86 ist eine ganz andere Sache) - im Idealfall halten Sie die Dinge einfacher für Ihre Benutzer mit einer einzigen ausführbaren Datei, die überall ausgeführt werden kann (zumindest bei allen Windows-Installationen).

Die Antwort auf Ihre Frage auf dem Zielnutzerbasis variiert:

  • Menschen Business-Software für den internen Gebrauch Schreiben wird (oder sollte) genau wissen, welche Hardware sie zielen.
  • Wenn Sie Spiele schreiben, dann werfen Sie einen Blick auf die regelmäßig aktualisierte Steam Hardware Survey - http://store.steampowered.com/hwsurvey/ - die (Stand: 2017-12-06) berichtet, dass 97,9% der Benutzer einen 64-Bit-Build von Windows ausführen nur 2,1% auf 32-Bit-Windows, obwohl es nicht angibt, wie viel Prozent der 32-Bit-Windows-Benutzer tatsächlich auf x64-fähiger Hardware ausgeführt werden. Aber Spieler auf Steam neigen dazu, im "Computer-Enthusiasten" -Segment zu sein, das neuere Hardware verwenden wird, so dass die Verwendung von 64-Bit-Hardware und Betriebssysteminstallationen nicht für alle Computerbenutzer überall repräsentativ ist.
  • Wenn Sie allgemeine Software für die Verteilung von Ihrer eigenen Website schreiben, dann werfen Sie einen Blick auf Ihre Webserver-Logdateien, da der Header Ihnen häufig sagt, welche OS-Leute mit einer Textzeichenfolge arbeiten, die oft die CPU-Architektur enthält (zB Chrome Berichte Win64; x64).
  • Der Prozentsatz der Benutzer auf 64-Bit-Betriebssystemen wird sich auch geografisch unterscheiden - ich erwarte einen höheren Anteil von 32-Bit-Betriebssystembenutzern in "Emerging Markets", die ältere (vor allem importierte) Gebrauchtmaschinen verwenden als in mehr entwickelten Volkswirtschaften. In ähnlicher Weise werden Marktsegmente, die stark an Legacy-Software gebunden sind, wie z. B. Regierungsabteilungen und viele Unternehmen, ein 32-Bit-Windows-Betriebssystem ausführen, um die 16-Bit-Softwarekompatibilität oder die 32-Bit-Gerätetreiberunterstützung beizubehalten.

Anstatt eine Verpflichtung zur Herstellung von 32-Bit- oder 64-Bit, wenn es um die Verteilung der ausführbare kommt, können Sie beides tun: Während Windows PE-Dateien (.exe und .dll Dateien) leider nicht das „Fett haben binäre "Funktion, die MacOS tut (wo eine einzelne ausführbare Datei Anweisungen für verschiedene Architekturen enthalten kann) können Sie tatsächlich gefälschte ein Fett-Binär mit einer Problemumgehung auf Windows, wie von Sysinternals 'Dienstprogramm-Programme verwendet; das eine 32-Bit-ausführbare Datei haben soll, die die 64-Bit-Binärdatei als eine eingebettete Ressource enthält und wie folgt läuft:

  • Ist das ein 32-Bit-Betriebssystem? Wenn ja, dann laufen normal
  • Ansonsten ist es ein 32-Bit-Prozess auf einem 64-Bit-System, so extrahieren Sie die 64-Bit-.exe Version in ein temporäres Verzeichnis
  • Starten Sie das extrahierte 64-Bit-Version
  • Self-terminate
  • Verwandte Themen