NOM¶
assert - Terminer le programme en cas d'échec d'un test
SYNOPSIS¶
#include <assert.h>
void assert(scalar expression);
DESCRIPTION¶
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.
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. Cela 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.44 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¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau et
l'équipe francophone de traduction de Debian (2006-2009).
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> ».