Frage

Wie der Titel sagte, habe ich ein C-Programm eingehalten und ein binäres in 64-Bit-Maschine erstellt. Wird diese binäre Arbeit unter 32-Bit?

War es hilfreich?

Lösung

64-Bit-Binärdateien können nicht auf einem 32-Bit-Betriebssystem ausgeführt werden. Wenn file Berichte ELF 64-bit, Sie haben eine 64-Bit-Binärdatei.

Um 32-Bit-Binärdateien auf einem 64-Bit-Linux zu erstellen, müssen Sie Pass haben -m32 zu gcc. Sie müssen auch 32-Bit-Bibliotheken installieren lassen (sudo apt-get install libc6-dev-i386).

Andere Tipps

Die Zusammenstellungsmaschine spielt keine Rolle. Was zählt ist: Wird der Code 32 Bit (Antwort: Ja) oder 64 Bit (Antwort: Nein) generiert.

Funktioniert es auf einer 32-Bit-Maschine? Einer mit einer CPU, die den 64-Bit-Modus nicht unterstützt? Nein.

Funktioniert es auf einem 64-Bit-VM auf einem 32-Bit-Native OS? Ja, meiner Erfahrung nach.

Ein überraschendes Ergebnis ist, dass 64-Bit-VMs unter einem 32-Bit-Host-Betriebssystem ausgeführt werden können, vorausgesetzt, die CPU ist fähig und Sie möchten dem Gast nicht zu viel RAM (> 2G oder so darauf reichen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top