Wie Mutli Platform Hybrid Exe erstellen?
-
Eine Möglichkeit wäre es die Exen für jede Plattform zu erstellen und dann
durch eine kleine Java Application jeweils die richtige zu starten.
Die Java Application wäre in 3 min geschrieben. Einzigster Nachteil wäre es,
dass du halt immer ein recht großes Packet liefern müsstest, aber dafür hättest du die schnelligkeit von C++ und die Plattformunabhängigkeit von Java.
-
Damit man das Programm dann starten kann braucht man eine JVM, und man braucht die entsprechenden Executables trotzdem noch.
Wenn man die doch sowieso für die verschiedenen Plattformen kompilieren muss dann kann man die doch entsprechend verteilen.
Oder anders gesagt: Nein, man muss für verschiedene Plattformen auch verschiedene Executables erzeugen.
Eine .exe unter Linux könnte problematisch werden.Von Virtual Machines rede ich hier nicht.
-
Kein Java. Es geht mir natürlich um C++.
Gibt auch kein Java für DOS.Aber was ich suche gibt es auf jeden Fall.
Ich kenne eine .com Datei die unter DOS, Windows XP und Linux gleichzeitig ausführbar ist.
bootlace.com (definitiv kein Java) aus dem grub4dos Projekt. Eine Hybrid Exe für DOS und Linux. Vermutlich läuft die exe unter XP nur wegen der 16 bit Emulation.
(Mit funktionieren beziehe ich mich jetzt mal nur auf "kann Text in Konsole ausgeben", mehr nicht."Jetzt sagt bitte nicht ich soll das grub4dos Projekt studieren. Das ist übelst groß, übelst viel und ein Mix zwischen Assembler und C++.
Ich möchte nur wissen wie man so eine hybride Exe erstellt.
-
Hier, erste Zeile steht das relevante. Die ersten 0x100 Byte werden einfach ignoriert. Da kannst du ohne weiteres einen ELF-Header unterbringen (was auch gemacht wurde). Und im Binärcode selber kannst du dann schön die jeweils anderen Parts überspringen, die Daten können gemeinsam genutzt werden.
Diese „Multi-Platform-Hybrid-Exe“ ist also erstens mal keine EXE und zweitens vorangig ein Hack. Du wirst ein solches Programm z.B. nicht für 64-Bit Systeme nutzen können.
-
Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Also müsste man ein Assembler Geek sein um das hinzubekommen?
C++ Beispielsource und/oder Tutorial oder Bibliothek gibt es dafür nicht?
.filmor schrieb:
Du wirst ein solches Programm z.B. nicht für 64-Bit Systeme nutzen können.
Wieso eigentlich nicht? Die haben doch auch alle noch 16 bit mit dabei.
-
schreib dir halt ne eigene vm
-
sap schrieb:
.filmor schrieb:
Du wirst ein solches Programm z.B. nicht für 64-Bit Systeme nutzen können.
Wieso eigentlich nicht? Die haben doch auch alle noch 16 bit mit dabei.
alle? Nein.
Ich denke aber, dass er 64 Bit Systeme im 64 Bit Modus meint.
-
Weltmeister schrieb:
schreib dir halt ne eigene vm
Ja klar. Weil es sonst nichts weiter ist. Mein XP Clone ist auch gerade fertig geworden.
rüdiger schrieb:
sap schrieb:
.filmor schrieb:
Du wirst ein solches Programm z.B. nicht für 64-Bit Systeme nutzen können.
Wieso eigentlich nicht? Die haben doch auch alle noch 16 bit mit dabei.
alle? Nein.
Ich denke aber, dass er 64 Bit Systeme im 64 Bit Modus meint.Nun, ich bin von den handelsüblichen ausgegangen. Dort laufen auch noch 16 Bit Betriebssysteme drauf.
-
Auf 64-Bit-Windows nicht.
Bei 64-Bit-Linux könntest du Glück haben, weil der ELF-Anteil 32-Bit-x86 ist und eigentlich jeder die Unterstützung dafür aktiviert hat.
Aber mal ehrlich, bei DOS, Win32 und x86er ELF-Systemen (viele BSDs iirc und Linux) hat man noch lange nicht die gängigen Plattformen abgedeckt (die 64-Bitter und OS X fehlen zum Beispiel).