SDL2 ohne SDL_Init()
-
Mir ist gerade aufgefallen, das es bei diesem Beispiel gar kein SDL_Init() gibt.
https://wiki.libsdl.org/SDL3/SDL_RenderGeometry
Daher habe ich versucht bei dem SDL2-Example welches bei CodeBlocks dabei ist, die Zeile mit SDL_Init() zu entfernen.
Zu meinem erstaunen funktioniert das Beispiel immer noch.
Kann das sein, das da etwas geändert wurde ?
Ich dachte immer, SDL_Iint() sei zwingend.Ich habe gerade auch das 1.2 Beispiel ausprobiert, auch dort geht es ohne SDL_Init().
Getestet unter Linux.
-
@Mathuas sagte in SDL2 ohne SDL_Init():
Kann das sein, das da etwas geändert wurde ?
Wenn man nach dieser Diskussion hier geht, dann kann das Programm durchaus auch ohne
SDL_Init
funktionieren, u.a. auch weil scheinbar einige Funktionen notwendige Initialisierungen nachholen. Darauf verlassen sollte man sich aber wohl besser nicht und man könnte evtl. Gefahr laufen, sich schwer zu findende Bugs einzuhandeln.
-
@Mathuas sagte in SDL2 ohne SDL_Init():
Ich dachte immer, SDL_Iint() sei zwingend.
Bitte nutzt beim Schreiben doch Inline-Codes und achtet auch auf die Rechtschreibung.
-
@Finnegan sagte in SDL2 ohne SDL_Init():
Darauf verlassen sollte man sich aber wohl besser nicht und man könnte evtl. Gefahr laufen, sich schwer zu findende Bugs einzuhandeln.
Dann werde ich es Zukunft besser mit SD_Init() machen.
-
Ja. Solche Init-Funktionen sollten immer aufgerufen werden, auch wenn es so aussieht als ob alles auch ohne funktioniert. Ausgenommen natürlich bei Libraries wo dokumentiert ist dass die Init-Funktion optional ist. Wobei es auch da oft gut ist. Idealerweise sollte man sie auch aufrufen bevor man anfängt zusätzliche Threads zu erzeugen. Denn leider haben viele Libraries Init-Code der nicht threadsafe ist.
-
-3 schon ... Ist doch wahr, wer will sich das denn durchlesen und dann auch noch kostenlos darauf antworten, wenn der Fragesteller nicht mal minimal richtige Rechtschreibung einhält? Oder hab ich einen Trend verpasst? ... Vielleicht schreibe ich demnächst ja auch so...
-
Dann ignorier das doch einfach, niemand zwingt dich zu antworten. Und deine Antwort hat auch genau 0 fachliche Relevanz.