Seite 1 von 1
32 und 64 bittig compilieren
Verfasst: 08.03.2018 16:20
von ¯\_(ツ)_/¯
Kann ich sowohl 32 als auch 64 Bit meine exe Datei erstellen? Ich meine kann ich 32 Bit und 64 Bit in einer
einzigen exe Datei kompilieren oder muss ich immer 2x Exe's ausliefern wenn ich beide Systeme unterstützen
möchte? Ich hätte gerne eine Exe. Kann man bei Pb was einstellen? Ich habe aber nichts gefunden. Bei VB.NET
gibt es AnyCPU und ich habe eine Exe und nicht zwei.
Re: 32 und 64 bittig compilieren
Verfasst: 08.03.2018 16:24
von RSBasic
Das hast zwei Möglichkeiten:
1. Du erstellst nur eine x86-Anwendung, so dass diese auf jedem System funktioniert.
2. Oder du erstellst x86 und x64 und bei der x86 bindest du die kompilierte x64-Datei binär ein und beim Start der 32 Bit-Anwendung prüfst du, ob das System 64 Bit ist. Wenn ja, dann entpackst du die 64 Bit-Anwendungsdatei und führst sie aus. Anschließend wird deine 32 Bit-Anwendung beendet.
Re: 32 und 64 bittig compilieren
Verfasst: 08.03.2018 16:29
von Andreas21
Meines wissen kann man das nicht zusammen in eine exe packen.
Wenn du 32 bit und 64 bit haben wilste musst du diese als 2 exen bei packen.
Re: 32 und 64 bittig compilieren
Verfasst: 08.03.2018 17:16
von ¯\_(ツ)_/¯
Danke ich werde mal mit IncludeBinary probieren...
Re: 32 und 64 bittig compilieren
Verfasst: 08.03.2018 19:57
von Mijikai
Wenn das OS Windows x64 ist kann man x64 & x86 Code mischen

Egal ob die *.exe x64 oder x86 ist!
Auszug aus dem vx Artikel "Heaven's Gate" by roy g biv / defjam (2009):
The jump in wow64cpu.dll is a 64-bit gate. We can jump through it into the
world of 64-bit code: 64-bit address space, 64-bit registers, 64-bit calls.
We might think that jumping into wow64cpu.dll is useless because we cannot
control where it goes after that, but of course we can change the address
ourself to anywhere we like. We can alter the address inside wow64cpu.dll,
we can alter the address at fs:[0c0h], or we can just call through the gate
on our own. The gate maps the entire 4Gb of memory, and the selector value
is always 33h. We can switch between the modes easily, too. All we need is
the return address on the stack.
Re: 32 und 64 bittig compilieren
Verfasst: 08.03.2018 20:17
von ccode_new
¯\_(ツ)_/¯ hat geschrieben:Kann ich sowohl 32 als auch 64 Bit meine exe Datei erstellen? Ich meine kann ich 32 Bit und 64 Bit in einer
einzigen exe Datei kompilieren oder muss ich immer 2x Exe's ausliefern wenn ich beide Systeme unterstützen
möchte? Ich hätte gerne eine Exe. Kann man bei Pb was einstellen? Ich habe aber nichts gefunden. Bei VB.NET
gibt es AnyCPU und ich habe eine Exe und nicht zwei.
VB.NET erstellt (genau wie Java auch) einen Zwischencode der durch die Runtime ausgeführt wird.
Daher geht das!
Das Verfahren von RSBasic (mit dem direkten binären Include) funktioniert zwar.
Es wird aber von Antivirus-Scannern überhaupt nicht gerne gesehen.
Du könntest aber einen 32 bit Installer-Exe basteln die das Programm aus einer legitimen Zip-Datei entpackt.
Oder einfach 2 Dateien. (Was solls ?)