32 und 64 bittig compilieren

Anfängerfragen zum Programmieren mit PureBasic.
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

32 und 64 bittig compilieren

Beitrag 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.
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: 32 und 64 bittig compilieren

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Andreas21
Beiträge: 390
Registriert: 30.08.2004 09:05
Computerausstattung: Desktop
Windows 10 Pro x64
CPU: AMD Ryzen 5 2600 3.40 GHz
Ram: 16GB RAM
Grafik: NVIDA Geforce 1060
PB: 5.72 X86/X64
Wohnort: Heidelberg

Re: 32 und 64 bittig compilieren

Beitrag 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.
Windows 10 x64 Pro - PB 5.61 X64 / x32 - PB 4.6 x32
¯\_(ツ)_/¯
Beiträge: 141
Registriert: 18.08.2017 09:35

Re: 32 und 64 bittig compilieren

Beitrag von ¯\_(ツ)_/¯ »

Danke ich werde mal mit IncludeBinary probieren...
Bild
Benutzeravatar
Mijikai
Beiträge: 754
Registriert: 25.09.2016 01:42

Re: 32 und 64 bittig compilieren

Beitrag 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.
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: 32 und 64 bittig compilieren

Beitrag 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 ?)
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Antworten