Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

ASSERT

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION

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

TRADUCTION

Christophe Blaess, 1996-2003.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.