MACX-Hybrid-Binaries: unterschiedliches Speicherverhalten?

Alles rund um die Programmierung mit Qt
Antworten
GoaSkin
Beiträge: 103
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

MACX-Hybrid-Binaries: unterschiedliches Speicherverhalten?

Beitrag von GoaSkin »

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?
boandl
Beiträge: 6
Registriert: 2. Oktober 2006 17:08

Beitrag von boandl »

GoaSkin
Beiträge: 103
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

Beitrag von GoaSkin »

Kann man eine festgelegte Byte-Reihenfolge erzwingen (z.B. über ein Compiler-Flag oder ein Makro)?
FlorianBecker
Beiträge: 1213
Registriert: 2. Dezember 2004 10:54
Kontaktdaten:

Beitrag von FlorianBecker »

Falls du mit QDataStream von Qt 4 arbeitest kannst du die ByteOrder einstellen, die ist dann auf jedem von Qt unterstützen System so.
Antworten