Question
J'écris C89 sur MSFT Visual Studio 2010 Beta. Comment puis-je faire une affirmation, semblable au mot-clé assert
Java? Je pense que je dois définir une macro, mais je ne sais pas comment. (Il semble que c'est quelque chose qui a été fait avant, donc je préfère utiliser ce que d'essayer de rouler mon propre.)
Voici une supposition:
int assert(int truth_value) {
// crash the program with an appropriate error message
}
La solution
C89 a <assert.h>
, qui contient la macro que vous recherchez.
#include <assert.h>
assert(expression);
De la documentation:
assert () macro teste la donnée expression et si elle est fausse, la processus appelant est terminé. Un message de diagnostic est écrit à stderr et la fonction d'interruption (3) est appelée, se terminant effectivement le programme.
Si expression est vrai, assert () macro ne fait rien.