Wann sollte die Option -m32 von gcc verwendet werden?
Lesezeit: 1 Minute
Jay
Ich schreibe ein Programm, das, wenn ich es auf einem Suse 10 32-Bit-System kompiliere, ohne das -m32 Option und führen Sie es auf Suse 10 64-Bit aus, es funktioniert gut.
In diesem Fall ist es nicht erforderlich, dass ich die hinzufüge -m32 Möglichkeit?
Können wir Programme, die auf 32-Bit-Systemen erstellt wurden, ohne Nebenwirkungen direkt auf ihren 64-Bit-Pendants ausführen? Oder sind Aktualisierungen oder Änderungen erforderlich?
Beachten Sie, dass gcc auch eine “mx32”-Option hat, FWIW, eine Art Hybrid 🙂 stackoverflow.com/a/10084046
– Rogerpack
15. Oktober 2021 um 6:07 Uhr
Es gibt keine Probleme beim Ausführen von ausführbaren 32-Bit-Dateien auf einem 64-Bit-Betriebssystem (solange dynamische 32-Bit-Bibliotheken vorhanden sind und gefunden werden).
-m32 dient zum Kompilieren von 32-Bit-Objekten auf einem Compiler, der standardmäßig zum Kompilieren von 64-Bit-Objekten konfiguriert ist.
Solange das Betriebssystem sowohl 32-Bit- als auch 64-Bit-Programme auf einem 64-Bit-Betriebssystem unterstützt (Hinweis: nicht alle tun dies, wie z. B. OpenBSD), sollten Sie keinerlei Probleme haben, solange Sie alle 32-Bit-Abhängigkeiten dafür haben. .
13826000cookie-checkWann sollte die Option -m32 von gcc verwendet werden?yes
Beachten Sie, dass gcc auch eine “mx32”-Option hat, FWIW, eine Art Hybrid 🙂 stackoverflow.com/a/10084046
– Rogerpack
15. Oktober 2021 um 6:07 Uhr