Christoph Zurnieden: (C) Was bedeutet (char *)?

Beitrag lesen

Hi,

Wird das vorher geprueft?

Nein, außer es basiert irgendwie auf den selben Grundlagen wie die Initialisierung von SDL. Ich denke mir einfach, dass es gar nicht nicht belegt sein kann, da sonst SDL nicht initialisiert werden könnte, und das Programm gar nicht ausgeführt werden könnte.

Wie ich gern an solcher Stelle zu bemerken pflege: wir sind hier nicht in einem theologischem Seminar, Programmierung hat nichts mit Glauben zu tun.
Du hast die Quellen vor Dir liegen, schau also nach, wenn Du unsicher bist. Du musst Dich auch nicht mit 'find' und 'grep' und aehnlichem abquaelen, gute Editionshilfen, um den Begriff IDE hier zu vermeiden, sollten entprechendes Werkzeug vorhalten.

Allerdings und nicht zuletzt deshalb ist jeglicher endianessabhaeniger Code auch dringend zu vermeiden!
Erst wenn Du das beherrschst kannst Du es auch anders machen ;-)

Wie würde man ihn ansatzweise vermeiden?

Gar nicht.
Wenn vermeiden, dann auch gleich richtig, also vollstaendig.
In diesem Fall werden drei Werte in ein Integerarray kopiert. Die Methodik zur Errechnng des Wertes, das Rechtsschieben ist jedoch endianabhaengig, da sie in einem einzigem Integer versteckt wurden. Also waere es nicht unguenstig, die drei Werte von Anfang an auf drei getrennte Integer zu verteilen. Ein struct wuerde sich dafuer z.B. anbieten. Die Geschwindigkeitseinbussen sind ueblicherweise vernachlaessigbar.
Sind sie es nicht, wird auch besser per Praeprozessor entschieden welcher Codeteil kompiliert werden soll, nicht dynamisch. Die Endianessabfrage aus dem Beispielcode benoetigt schon mehr Takte, als durch die Verwendung eines structs verloren gehen koennten.

Zuletzt noch: bitte beschaeftige Dich mal ausfuehrlich mit Pointern. Das muss im Schlaf sitzen, wenn Du Dich naeher mit C beschaeftigen moechtest.

Das ist klar. Mit Pointern kenne ich mich auch eigentlich relativ gut aus, aber offensichtlich wurde die Thematik, einen Zeiger auf einen umgewandelten Typ, von meinem Buch entweder irgendwie verschluckt, oder ich habe die Beschreibung bisher nicht gefunden, was ich aber nicht glaube.

Dann lass Dir das Geld zurueckgeben ;-)
Kennst Du eigentlich Dave Marshall?

so short

Christoph Zurnieden