Provided by:
manpages-fr_1.67.0-1_all 
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.