SDL(Mehrere Functionen und cpp dateien)



  • Hi,
    vielen dank.
    Eigentlich verstehe ichs nicht.
    Naja, aber was hat das damit zu tuen das dass Programm nicht läuft?
    Ist das dafür notwendig?Kann mir dazu jemand vielleicht einen
    Tutorial link geben?

    cu max



  • Ganz einfach - die SDL ist eine Multithreaded Library, also muß das Programm, wo die Library nutzt auch mit Multithreading umgehen können.
    Tutorial zu SDL? Mhhh - hab ich mal wo gesehen, glaube sogar von einem der Boardmitglieder hier. Schau mal in die FAQ vielleicht gibts da welche.



  • Master_Max schrieb:

    Eigentlich verstehe ichs nicht.

    Das bedeutet daß Dein Prog mehrere Sachen gleichzeitig machen kann...



  • nicht gleichzeitig, sondern parallel



  • kind schrieb:

    nicht gleichzeitig, sondern parallel

    Was genau das gleiche ist... 🙄



  • Hi,
    vielen dannk @all.
    Gibt es ein Tutorial was das genau erklärt?

    @Snorre, Tutorials zu SDL hab ich ein paar gute,
    aber da sich die Leute dort keine Engine schreiben,
    wird auch nicht darauf eingegangen, sie machen alles
    direkt im Programmcode.

    Vielen dank im vorraus.

    cu max



  • Das hat ja auch nix mit der SDL zu tun, dass sind C/C++ Grundlagen.



  • Hi,
    in C++ hab ich ja auch eine übung zu dem Thema schon davor
    gecodet, die ging.In der erstellte ich zwei .cpp files
    und includierte sie.
    In der main rief ich eine funktion der anderen cpp file auf.
    Das ging einwandfrei, also dachte ich das dass in der SDL
    auch gehen sollte.

    Code:Main.cpp

    #include <iostream.h>
    
    int printfunction();
    
    int main(){
    
    	printfunction();
    
    		return 0;
    
    }
    

    Code:Printfunction.cpp

    #include <iostream.h>
    
    int printfunction(){
    	cout << "Es geht also";
    
    	return 0;
    
    }
    

    Ich denke das ist verkürtzt das was ich in meinem Programm tue
    (Bis darauf das ich keine .h files benutze, das sollte aber keine
    rolle spielen)

    cu max



  • Hi,
    ist das was ich da gemacht hab vom Prinzip her das selbe?
    (Eigentlich ruf ich ja bei meinem anderen proc auch nur functionen
    aus der anderen .cpp auf.)
    Vielen dank im vorraus

    cu max



  • Eigentlich ist es das selbe, da du den Prototyp ja vor deiner Funktion deklarierst. Allerdings solltest du schon alleine wegen der Sauberkeit auf Source ( CPP, CC, C ) und Header ( H ) zurückgreifen. Vorallem kannst du ein Headerfile mehrfach includen, während du mit dem Prototyp vor deinem Programm in mehreren Dateien ärger bekommen könntest, wegen "Object multiple defined" oder so.



  • Hi,
    hmmm um ganz ehrlich zu sein hab ich noch nie wirklich
    mit .h files gearbeitet, weis jetzt auch gar nicht genau
    was ich darin alles machen kann, aber ich hab hier genügend literatur
    und werd die Lücke stopfen.

    SnorreDev shrieb:
    solltest du schon alleine wegen der Sauberkeit auf Source ( CPP, CC, C ) und Header ( H ) zurückgreifen.

    Hab ich wohl nicht richtig dazugeschrieben:(so ist es also in echt)

    MAIN.cpp

    #include <iostream.h> 
    
    int printfunction(); 
    
    int main(){ 
    
        printfunction(); 
    
            return 0; 
    
    }
    

    Printfunction.cpp

    C/C++ Code: 
    #include <iostream.h> 
    
    int printfunction(){ 
        cout << "Es geht also"; 
    
        return 0; 
    
    }
    

    cu max



  • Hi.
    Ist das nun das gleiche?

    Vielen dank im vorraus.

    cu max



  • Hi,
    da niemand antwortet, vermute ich jetzt einfach mal dass
    meine Theorie ein völliger schwachsinn ist, welcher
    nie das Licht des Bildschirms erblicken hätte sollen.
    Trotzdem danke.

    Wäre nett, wenn mir jemand einen Link zu nem Tut oder soetwas
    geben könnte.

    cu max



  • Hi,
    hab gegooglet.
    http://www.codeworx.org/cpp_tuts_1_5.php
    für alle denen Multithreading noch ein Rätsel ist.

    cu max



  • ich glaubr das problem is, niemand weiß wo eigentlich dein problem liegt.



  • Hi,
    ich weiß in Foren drücke ich mich
    oft sehr umständlich aus.

    Mein Problem ist, das der erste code
    nicht läuft(angeblich wegen Multithreading)
    (Die Fehler sind rausgebügelt)Aber ich bekomme diese
    Fehlermeldung:
    **--------------------Konfiguration: code - Win32 Debug--------------------
    Linker-Vorgang läuft...
    code.obj : error LNK2001: Nichtaufgeloestes externes Symbol "struct SDL_Surface * screen" (?screen@@3PAUSDL_Surface@@A)
    Pyramidal-Engine.obj : error LNK2001: Nichtaufgeloestes externes Symbol "struct SDL_Surface * screen" (?screen@@3PAUSDL_Surface@@A)
    Debug/code.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
    Fehler beim Ausführen von link.exe.

    code.exe - 3 Fehler, 0 Warnung(en)
    **

    Obwohl dieser Code auch läuft
    MAIN.cpp

    #include <iostream.h>  
    
    int printfunction();  
    
    int main(){  
    
        printfunction();  
    
            return 0;  
    
    }
    

    Printfunction.cpp

    #include <iostream.h>  
    
    int printfunction(){  
        cout << "Es geht also";  
    
        return 0;  
    
    }
    

    Ich tue ja in beiden Dateien vom Prinzip her dasselbe,
    ich rufe eine Function aus einer anderen C++ datei auf,
    mit der ich auch davor Prototyping betrieben habe.
    Aber es heißt ja, das währe C++ Grundwissen, nun aber
    unter C++ läuft es ja.

    Also, nun langsam dämmert es mir warum es nicht geht ➡
    Ich habe den C++ code in einer DOS-Box ausgeführt, der einfacheheit
    zur liebe, aber DOS benötigt kein Multithreading, während eine Win32-
    Anwendung dies zwingend benötigt.

    cu max



  • Und wo liegt jetzt genau dein Problem?

    Gruß M.



  • Hi,
    erstmal um das zu klären:

    Dr.GreenThumb schrieb:
    Das hat ja auch nix mit der SDL zu tun, dass sind C/C++ Grundlagen.

    17.06.03:HummeSikkins schrieb:
    Standard-C++ kennt keine Threads, aber die SDL hat doch eine schöne HP:

    Ok, also Threading ist kein C++ Grundwissen.

    Mein Verständnissfrage hat sich damit nun auch erledigt,
    Threading braucht man halt in SDL.

    cu max



  • Hi,
    http://sdldoc.csn.ul.ie/thread.php
    da wird´s erklärt, leider einglisch. 😞

    cu max



  • Du hast wohl die SDL-Library nicht mitgelinkt.


Anmelden zum Antworten