ASSERT und VERIFY ??



  • Hallo

    In den msdn-samples findet man häufiger diese beiden methoden.
    z.B. :
    ASSERT(i=0);
    oder
    VERIFY(i=0);
    Was genau bewirkt das denn??



  • ASSERT wird in der Debugversion ausgeführt.
    In der Releaseversion wird es übergangen.
    Wenn du einen für das Programm wichtigen Code und schreibst diesen in eine Assert rein wird der bei einem Fehler ausgegeben.
    Da die Asserts aber bei Release nicht drin sind gibt es auch diesen Code nicht und dein Programm macht nicht mehr das was es soll.
    In diesem Fall verwendet man VERIFY.

    Bsp.

    int i = 0;
    ASSERT(i = 1);
    // Hier ist im Debug die Var i 1   im Release noch immer 0 da 
    //   " i = 1  " nicht ausgeführt wird
    
    VERIFY(i = 1);
    
    // Hier ist i in beiden Versionen 1
    

Anmelden zum Antworten