Frage

Ich schreibe C89 auf MSFT Visual Studio 2010 Beta. Wie kann ich eine Behauptung, ähnlich wie Java assert Schlüsselwort machen? Ich glaube, ich brauche einen Makro zu definieren, aber ich bin nicht sicher, wie. (Es scheint, als ob dies etwas, das vorher getan worden ist, so dass ich eher, dass als Versuch verwenden würde, um meine eigene Rolle.)

Hier ist eine Vermutung:

int assert(int truth_value) {
   // crash the program with an appropriate error message   
}
War es hilfreich?

Lösung

C89 hat <assert.h>, die das Makro enthält, die Sie suchen.

#include <assert.h>
assert(expression);

Aus der Dokumentation:

  

Die Assertion () Makro-Tests der angegebene Ausdruck und wenn es falsch ist, die   Aufruf Prozess wird beendet. Eine Diagnosemeldung geschrieben stderr   und der Abbruch (3) Funktion aufgerufen wird, effektiv das Programm beendet wird.

     

Wenn Ausdruck ist wahr, die Assertion () Makro tut nichts.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top