C++ Quellcode auslagern - wie?



  • versuchs doch mal mit

    #include "extern.cpp"
    unter dem #include "extern.h". Den Quellcode brauch der compiler ja auch...



  • Hallo,

    funktioniert leider nicht.

    Wie muss es denn grundsätzlich aussehen?

    Normalerweise binde ich doch immer nur eine .h Datei ein, oder?

    mfg
    trequ



  • trequ schrieb:

    Hallo,

    funktioniert leider nicht.

    Wie muss es denn grundsätzlich aussehen?

    Normalerweise binde ich doch immer nur eine .h Datei ein, oder?

    mfg
    trequ

    du musst in der kartei project auf add to project -> files
    und dort die gewünschten files auswählen und zu deinem projekt hinzufügen.

    Esco



  • Hallo,

    mir ist klar, dass ich die Dateien ins Projekt aufnehmen muss.

    Aber dazu muss ja erst mal welche schreiben, die funktionieren.

    Ich habe ein Programm, welches recht lange ist. Alles steht in AnwendungDLG.cpp

    Aber es muss doch möglich sein, Programmteile, welche man immer wieder verwendet (bei mir 1 struct und 2 Funktionen) zu exportieren.
    Die exportierten Funktionen will ich dann in anderen Programmen verwenden.
    Wie stelle ich das an?

    mfg
    trequ



  • trequ schrieb:

    Hallo,

    mir ist klar, dass ich die Dateien ins Projekt aufnehmen muss.

    Aber dazu muss ja erst mal welche schreiben, die funktionieren.

    Ich habe ein Programm, welches recht lange ist. Alles steht in AnwendungDLG.cpp

    Aber es muss doch möglich sein, Programmteile, welche man immer wieder verwendet (bei mir 1 struct und 2 Funktionen) zu exportieren.
    Die exportierten Funktionen will ich dann in anderen Programmen verwenden.
    Wie stelle ich das an?

    mfg
    trequ

    prinzipiell solltest du einmal deine anwendung auf mehrere dateien aufteilen.
    auslagern und wiederverwenden funktioniert meist mit einer *.dll bzw einer *.lib

    Esco



  • Hallo,

    Esco schrieb:

    prinzipiell solltest du einmal deine anwendung auf mehrere dateien aufteilen.

    Genau das ist mein Problem.
    Wenn ich mehr als eine Datei haben will, werden Codeteile nicht mehr gefunden.
    Daher die Frage: Was wird wo definiert - und wo wird was included?

    mfg
    trequ



  • ja also included... c++ grundlagen
    die header muss eben dort eingebunden werden, wo du die funktionen benutzt.

    wie du das machst: zB die funktionen in ne *.txt schreiben und dann hinzufügen?!?!?

    oder: im arbeitsbereich auf klassenansicht gehen und dort auf '<deintoolname> classes' rechtsklicken und <new class> anwählen.
    dort kannste dann deine klasse implementieren ohne dass du sie von irgendwas ableiten musst.

    Esco



  • Hallo,

    entweder stehe ich auf dem Schlauch, oder das mit dem include läuft in c++ ganz anders als in PHP oder Perl.

    Ich mache folgendes:

    Datei->Neu->Projekt->MFC Anwendung

    Ich erzeuge eine Wenn Button XY gedrückt Funktion.
    Darin schreibe ich

    b.a = 1; 
    func();
    if(b.a != 1){
        MessageBox("Geht!");
    }
    

    Dann erstelle ich über Einfügen -> neue Klasse eine Klasse Test.
    In der test.h schreibe ich unter den Konstruktor und über den Destuktor: void func();
    In der test.cpp steht folgendes:

    struct c{
        int a;
    }b;
    
    void func(){
        b.a = 100;
    }
    

    Anschliesend habe ich in der TestanwendungDLG.cpp einen include hinzugefügt:
    #include "test.h"

    Anschließender Start: weder b noch func ist in dem Program bekannt.

    Ich habe daraufhin dan noch #include "test.cpp" hinzugefügt, dann beschwert er sich über eine Neudeffinition ?

    Ich mache da wohl irgendwas falsch...

    mfg
    trequ



  • Nach sovielen Beiträgen deinerseits solltest Du wissen das man keine Doppelpostings macht.
    Deinen anderen Beitrag habe ich jetzt nach c++ verschoben weil es hier nicht hingehört.
    Jetzt lese ich den gleichen Beitrag hier auch.
    Du vergeudest meine Zeit. Da aber jetzt auch ein unnötiger Beitrag in C++ ist auch die Zeit de Mods dort.
    Und dann den Usern die dort auch noch Antworten, da sie hier nicht mitlesen.



  • Hallo,

    Unix-Tom schrieb:

    Nach sovielen Beiträgen deinerseits solltest Du wissen das man keine Doppelpostings macht.
    Deinen anderen Beitrag habe ich jetzt nach c++ verschoben weil es hier nicht hingehört.
    Jetzt lese ich den gleichen Beitrag hier auch.
    Du vergeudest meine Zeit. Da aber jetzt auch ein unnötiger Beitrag in C++ ist auch die Zeit de Mods dort.
    Und dann den Usern die dort auch noch Antworten, da sie hier nicht mitlesen.

    Sorry, ich hab da wohl etwas verplant...

    Was mir aber aufgefallen ist: die php-Datei, welche eingehende Postings verarbeitet arbeitet manchmal ziemlich langsam (braucht so 3 Minuten...).
    Ich hatte auch schon einen 404 Fehler. Aber der Beitrag wurde trotz des 404 Fehlers gepostet. (Mit ca. 1 Stunde Verzögerung...)
    Wenn man allerdings wegen des 404 Fehlers F5 drückt, erzeugt man einen Doppelpost.
    Mir ist aufgefallen dass ich gestern Mittag nicht der einzige mit Doppel-Posts war.
    Kann man doppelte Treads löschen?

    mfg
    trequ


Anmelden zum Antworten