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