Loading

NOM

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

SYNOPSIS

       #include <assert.h>

       void assert(scalar expression);

       Si  la  macro  NDEBUG est définie au moment 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
       d’erreur et termine l’exécution  du  programme  en  cours  en  appelant
       abort(3) si 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  in  file  foo.c,
       function  do_bar(), line 1287 » n’est d’aucune aide pour l’utilisateur.

VALEUR RENVOYÉE

       Aucune valeur n’est renvoyée.

CONFORMITÉ

       POSIX.1-2001, C89, C99. Dans C89, expression devait être de type int et
       le comportement était indéfini si ce n’était pas le cas, mais dans C99,
       elle peut être de n’importe quel type scalaire.

BOGUES

       assert() étant implémentée comme une macro, si  l’expression  testée  a
       des  effets  de  bord,  le  comportement du programme différera suivant
       l’existence de NDEBUG. Ceci peut induire  des  « Heisenbugs »  (N.d.T :
       bogue  qui disparaît ou se modifie quand on essaye de le localiser) qui
       disparaissent lors du débogage.

VOIR AUSSI

       abort(3), assert_perror(3), exit(3)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».