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> ».