Provided by: manpages-fr_1.67.0-1_all bug

NOM

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

SYNOPSIS

       #include <assert.h>

       void assert (int expression);

DESCRIPTION

       Si  la  macro  NDEBUG  était  définie  lors de la dernière inclusion de
       <assert.h>, la macro assert() ne génère aucun code, et  ne  fait  rien.
       Sinon,  la  macro  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).

       Le  but  de cette macro est d’aider le programmeur à trouver des bogues
       dans son application. Le  message  "assertion  failed  un  file  foo.c,
       function  do_bar(),  line  1287" n’est d’aucune aide pour l’utilisateur
       final.

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) assert_perror(3)

TRADUCTION

       Christophe Blaess, 1996-2003.