Linux repositories inspector
GNU

manpages-fr-dev

French version of the development manual pages

man-pages-fr

French version of the Linux man-pages

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

allegro-devel

A game programming library

liballeg-devel

A game programming library

liballeg44-devel

A game programming library

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 les programmeurs à trouver des bogues dans leurs applications. Le message « assertion failed in file foo.c, function do_bar(), line 1287 » ne sert à rien 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. 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.

COLOPHON

Cette page fait partie de la publication 3.70 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 à <>.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».
⇧ Top