assert(3) Library Functions Manual assert(3) NOM assert - Terminer le programme en cas d'echec d'un test BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include void assert(scalar expression); DESCRIPTION Cette macro peut assister les programmeurs dans leur recherche de bogues ou gerer des cas exceptionnels avec un plantage qui produira une information de debogage limitee. Si expression est fausse (c'est-a-dire, comparaison de son egalite a zero) assert() affiche un message d'erreur sur la sortie d'erreur et termine le programme par un appel a abort(3). Le message d'erreur inclut le nom du fichier et de la fonction contenant l'appel a assert(), le numero de ligne de cet appel, ainsi que le texte de l'argument ; quelque chose comme : prog: un_fichier.c:16: une_fonction: L'assertion `val == 0' a echouee. Si la macro NDEBUG est definie au moment de la derniere inclusion de , la macro assert() ne genere aucun code et ne fait donc rien. Il n'est pas recommande de definir NDEBUG si assert() est utilise pour detecter des conditions d'erreur puisque le logiciel peut se comporter de facon non deterministe. VALEUR RENVOYEE Aucune valeur n'est renvoyee. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |assert() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS C11, POSIX.1-2008. HISTORIQUE C89, C99, POSIX.1-2001. Dans C89, expression doit etre de type int et le comportement est indefini si ce n'est pas le cas, mais dans C99, elle peut etre de n'importe quel type scalaire. BOGUES assert() etant implementee comme une macro, si l'expression testee a des effets de bord, le comportement du programme differera suivant l'existence de NDEBUG. Cela peut induire des << Heisenbugs >> (N.d.T : bogue qui disparait ou se modifie quand on essaye de le localiser) qui disparaissent lors du debogage. VOIR AUSSI abort(3), assert_perror(3), exit(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Gregoire Scano Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 assert(3)