• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

C++,SDL auf PPC, unter anderem Problem mit Laden von Fonts (Opensource-Projekt)

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
habe versucht ein Opensource Projekt (s25rttr) auch für PPCs zu kompilieren, ging auch alles. Leider macht er beim Laden der Fonts Schwierigkeiten (Fehlermeldung in meiner signatur).
Deswegen wollte ich fragen, worauf man achten muss, wenn man C++ Projekte, die für Intel geschrieben wurden auch für PPCs compilieren will. Auf Little-Endian und Big-Endian wurde schon geachtet, gibt es da aber auch andere Dinge, die wichtig sind und verändert bzw. modifiziert werden müssen?

Programm läuft fehlerfrei auf Intel (Win/Linux/Mac OS X)
 
mhh, im Zusammenhang von diesem Konflikt stehen ungefähr, 100-150 Zeilen Code (und alle aufgesplittet in verschiedenen Dateien.) weiter müsste ich Informationen von einem closed-source Programmes vermitteln, welches ich eben nicht darf. Darum brauche ich auch nur Informationen worauf man achten sollte, wenn man auf einem PPC-Mac mit C++ programmiert und worauf man achten soll, wenn man auf einem Intel-Mac dies macht. Halt unterschiede im Speichermanagment, Big-Endian und Little-Endian Daten einlesen und ausgeben... eben alles was da eine große Rolle spielt.
Ich weiß nur, dass da irgendwas im Speichermanagment kaputt geht, das Ding ist eben, dass es unter Intel Macs läuft.
 
Was denn nun? Opensource oder closedsource? Um Dir zu helfen wird es nicht nötig sein, dass Du irgendwelche Geschäftsgeheimnisse preisgibst, aber ohne mehr Kontext wird es nicht gehen...
 
Zuletzt bearbeitet:
1) smj hat recht. Wenn das OpenSource ist, poste es doch einfach.

2) Das klingt nach einem Memory Management Fehler, der -- aus welchen Gründen auch immer -- auf Intel nicht auftritt. In jedem Fall sollten die Malloc Debugging Features Dir helfen.

Alex
 
ist nur ne Vermutung, kenne mich nicht wirklich gut darin aus, aber
da du little und big endian erwähnst, kann ich mir vostellen, dass du da irgendein objekt (***) im speicher änderst, dass aber direkt, da du ja die adressen hast. wenn du jetzt die Bits direkt manipulierst, dann passiert auf dem PPC was anderes als auf dem Intel, d.h es passiert vielleicht in einem Bereich des speichers, wo es gar nicht gewollt war und dann geht die checksum schief, wie es ja im Fehler steht. Wenn so ein checksum fehler für den RAM kommt, heisst das eigentlich, dass auf der RAM ECC hat?

Wie ihr gemerkt habe, habe ich mein Halbwissen, was Pointer, C++ und RAM mal eben schnell versucht irgendwie nützlich zu verknüpfen, obs einen Sinn ergibt, müsst ihr mir sagen.

gruss
philo
 
Ohne das Projekt genau zu kennen kann ich wenig sagen, aber normalerweise ist Big vs. Little Endian kein grosses Problem: Das wird es normalerweise erst dann, wenn man Daten mit anderen Computern oder Hardware Daten austauscht

Oder jemand macht merkwürdige Pointer-Arithmetik.

Alex
 
naja, wer sich das Projekt ansehen will, es heißt s25rttr (ein opensource Projekt für siedler 2, deswegen auch closedsource Anteile)