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   
}
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top