ASSERT

Section: Manuel du programmeur Linux (3)
Updated: 21 janvier 2002
Index Retour au Menu Principal

 

NOM

assert - Terminer le programme en cas d'échec d'un test.  

SYNOPSIS

#include <assert.h>

void assert (int expression);
 

DESCRIPTION

La fonction assert() affiche un message d'erreur sur la sortie standard, et termine l'exécution du programme en cours en appelant abort() si l'expression est fausse (égale à zéro). Ce comportement n'a lieu que si la constante symbolique NDEBUG n'est PAS définie au moment de l'inclusion de <assert.h>.

assert() étant définie comme une macro, les expressions du type assert (i != 0), sont purement et simplement éliminées de la compilation lorsque l'on définie la constante NDEBUG pour obtenir une version de distribution.  

VALEUR RENVOYÉE

Aucune valeur n'est renvoyée.  

CONFORMITÉ

ISO9899 (ANSI C). Dans le standard 1990 expression devait être de type int et le comportement était indéfini si ce n'était pas le cas, mais depuis le standard 1999, elle peut être de n'importe quel type scalaire.  

BOGUES

assert() étant implementée comme une macro, si l'expression testée à des effets de bord, le comportement du programme diffèrera suivant l'existence de NDEBUG. Ceci peut induire des Heisenbugs (conformes à la théorie de Heisenberg ;-), qui disparaissent quand le débugging est utilisé.  

VOIR AUSSI

exit(3), abort(3)

 

TRADUCTION

Christophe Blaess, 1997.



 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION


Time: 22:29:59 GMT, December 19, 2004