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
}
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.