• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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)
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
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.
 

sumpfmonsterjunior

Morgenduft
Registriert
17.03.05
Beiträge
167
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:

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
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
 

philo

Roter Stettiner
Registriert
13.10.04
Beiträge
973
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
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
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
 

karolherbst

Danziger Kant
Registriert
11.05.07
Beiträge
3.878
naja, wer sich das Projekt ansehen will, es heißt s25rttr (ein opensource Projekt für siedler 2, deswegen auch closedsource Anteile)