DEBUG --- RELEASE, Code für die eine und für die andere Version kennzeichnen



  • Aloha,

    garantiert simple Frage.

    Ich möchte an einer Stelle im Programmcode eine switch, if...elseif, etc. Anweisung haben, wo der Compiler die Situation unterscheidet. Bin ich im Debug oder im Release oder sonstwo.

    // Der folgende Code ist nur zum Verständnis !!!
    if(DEBUG){.....}         
    else if(RELEASE){.....}
    else {.....}
    

    Habe die Anweisung auch schon mal gesehen, aber bekomme es nicht mehr hin.

    Grüße und Dank im voraus

    BOA



  • Die Antwort findest du sehr weit oben in den automatisch erstellten cpp-Dateien:

    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    

    Also sieht das etwa so aus:

    #ifdef _DEBUG
    AfxMessageBox("Debugversion");
    #else
    AfxMessageBox("Releaseversion");
    #endif
    


  • Aloha,

    vielen Dank für die prompte Antwort.

    Allerdings geht er nicht in die #else Direktive rein, warum auch immer, klingt eigentlich gut Dein Quelltext.

    Hhhmmm

    Grüße

    BOA



  • In die #else geht der nur rein, wenn du die Releaseversion anschmeißt. Das war ja Sinn der Sache. 😃



  • Hehe,

    ja schon klar, mein Fehler, nicht genau erläutert. Er geht aber leider nicht in die #else wenn ich die Release Version starte, that´s the prob.

    Aber er geht in die Debug schleife, wenn ich debug starte.

    Hhhmmmm

    Ich weiß es net.



  • #ifndef _DEBUG
    AfxMessageBox("Release...");
    #endif



  • 😕 Macht er den gar nix? 😕

    Jetzt muss ich das doch mal ausprobieren...
    Ich war mir doch soooo sicher. Komisch.

    [Edit]
    Hab genau das, was ich dir gepostet habe, ausprobiert - es funzt super. Wenn es bei dir nich geht, versteh ich das nicht.
    [/Edit]


Anmelden zum Antworten