Code für 32bit und 64bit gleichzeitig möglich?
-
Hallo,
ist es möglich einer Exe den 64 und 32 bit Code so zu implementieren, das er je nach OS automatisch gewählt wird?
Grüße
TheNoName
-
Nein, es geht nur entweder oder.
Du könntest die 64-bit Anwendung aber als Ressource in der 32-bit Anwendung speichern und unter einem 64-bit System diese in eine temporäre Datei speichern und dann starten.
-
Welchen Vorteil versprichst Du Dir für Deine Applikation, wenn sie als 64bit Anwednung läuft.
Viele Anwednungen laufen erstmal langsamer ;)...
-
ein gewisser anteil an benutzer die ein 64bit betriebssystem haben, würden tendenziell ein 64 bit programm vorziehen unabhängig davon ob es langsamer ist.
-
blubberhausen schrieb:
ein gewisser anteil an benutzer die ein 64bit betriebssystem haben, würden tendenziell ein 64 bit programm vorziehen unabhängig davon ob es langsamer ist.
Und woran merken diese Anwedner, dass Sie ein 64bit Programm haben?
Daran dass man es Ihnen sagt?
-
thenoname schrieb:
Hallo,
ist es möglich einer Exe den 64 und 32 bit Code so zu implementieren, das er je nach OS automatisch gewählt wird?
Grüße
TheNoNameBraucht deine Anwendung denn wirklich mehrere GB RAM (>2 GB)? Denn sonst hat eine 64-Bit-Version ja eigentlich kaum Sinn. Und 32-Bit-Anwendungen laufen ja in der Regel wunderbar unter x64-Systemen.
-
_matze schrieb:
Und 32-Bit-Anwendungen laufen ja in der Regel wunderbar unter x64-Systemen.
Eben!
-
Martin Richter schrieb:
_matze schrieb:
Und 32-Bit-Anwendungen laufen ja in der Regel wunderbar unter x64-Systemen.
Eben!
Das mit dem wunderbar ist eher Wunschdenken.
Es gibt halt Bereiche unter x64, auf die ein 32-bit Programm keinen Zugriff hat. Beispiele dafür sind Teile der Registry und des Dateisystems. Auch 32-bit Shellerweiterungen werden im x64-Explorer nicht angezeigt. Es gibt also durchaus Gründe, die für eine x64-Version sprechen.
-
Jopp. Vor allem auch dass 64 Bit Programme manchmal schneller laufen
(Die zusätzlichen Register etc. bringen halt auch was)
-
Das "schneller Laufen" konnte ich ziemlich gut mit einem Program testen, das einfach eine Zahl hochzählen konnte.
Läuft das Program unter einem 32bit System zählt es z.B. pro Sekunde 10000 Schritte.
Läuft auf demselben Rechner ein 64bit System kommen mit diesem 32 bit Program nur 1000 Inkrementierungen zustande.
Kompiliere ich es als 64bit, dann habe ich wieder meine 10000 und einwenig mehr Inkrementierungen.
(Ist ein Beispiel, die genaue Zahl hab ich wegen der vielen Stellen nicht im Kopf)Das Problem ist nur, das der Benutzer eigentlich nichts von 64 oder 32 bit wissen will, aber seine volle Leistung haben möchte, also 10000 Inkrementierungen. Auch will er nichts von 64 oder 32 bit DLL Dateien wissen die evtl. dann inkompatibel sind. Also bräuchte man beides zusammen in einer EXE, wie beim .Net "Any CPU" Interpreter.