ASSERT(3) Manuel du programmeur Linux ASSERT(3)
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 lorsque la
constante symbolique NDEBUG n'est PAS définie.
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 con
stante NDEBUG pour obtenir une version de distribution.
VALEUR RENVOYÉE
Aucune valeur n'est renvoyée.
CONFORMITÉ
ANSI - C
BUGS
assert() étant implementée comme une macro, si l'expres
sion testée à des effets de bord, le comportement du pro
gramme diffèrera suivant l'existence de NDEBUG. Ceci peut
induire des Heisenbugs (conformes à la théorie de Heisen
berg ;-), qui disparaissent quand le débugging est
utilisé.
VOIR AUSSI
exit(3), abort(3)
TRADUCTION
Christophe Blaess, 1997.
GNU 22 Octobre 1996 1