MACX-Hybrid-Binaries: unterschiedliches Speicherverhalten?
Verfasst: 13. September 2007 12:02
Mit Hilfe einer fertigen Bibliothek schreibe ich ein Programm, das Content-Dateien für das Spiel Simcity4 erzeugt.
Im Header beginnen diese mit den vier Buchstaben DBPF, wodurch der Dateityp identifiziert wird. So weit so gut, ich schrieb das Programm bislang auf einem Intel-Macbook, wobei die Dateien richtig erzeugt wurden.
Nun habe ich das Programm auf einem PPC-basierten Mac compiliert, wobei ich merkte, daß korrupte Dateien erzeugt werden. Da der Fehler nicht in Quellcode-Neuerungen zu finden ist, betrachtete ich die exportierten Dateien einmal im HEX-Editor, wobei mir auffiel, daß sämtliche Arrays byte-weise rückwärts gespeichert sind.
Aus dem Klartext DBPF wurde FPBD; darauf folgende Versionsnummern und Timestamp-Angaben waren ebenfalls rückwärts identifizierbar. Wie kann sowas sein?
Liegt dieses Problem an Compiler-Einstellungen oder an der CPU-Arbeitsweise, sodaß der Datenexport unterschiedlich je nach dem ausfällt, ob das Programm auf einem PPC oder X86 gestartet ist.
Handelt es sich hierbei um ein populäres Phänomen?
Im Header beginnen diese mit den vier Buchstaben DBPF, wodurch der Dateityp identifiziert wird. So weit so gut, ich schrieb das Programm bislang auf einem Intel-Macbook, wobei die Dateien richtig erzeugt wurden.
Nun habe ich das Programm auf einem PPC-basierten Mac compiliert, wobei ich merkte, daß korrupte Dateien erzeugt werden. Da der Fehler nicht in Quellcode-Neuerungen zu finden ist, betrachtete ich die exportierten Dateien einmal im HEX-Editor, wobei mir auffiel, daß sämtliche Arrays byte-weise rückwärts gespeichert sind.
Aus dem Klartext DBPF wurde FPBD; darauf folgende Versionsnummern und Timestamp-Angaben waren ebenfalls rückwärts identifizierbar. Wie kann sowas sein?
Liegt dieses Problem an Compiler-Einstellungen oder an der CPU-Arbeitsweise, sodaß der Datenexport unterschiedlich je nach dem ausfällt, ob das Programm auf einem PPC oder X86 gestartet ist.
Handelt es sich hierbei um ein populäres Phänomen?