Assert.h

<assert.h> est un fichier d'en-tête présent dans la bibliothèque standard du langage C qui définit la macro assert. La macro met en œuvre une assertion, qui peut être utilisée pour vérifier les hypothèses formulées par le programme.

Pour le langage C++, le fichier équivalent est <cassert>[1].

L'assertion est la base du paradigme de programmation par contrat[2].

La macro assert diagnostique les assertions dans le programme. Lorsqu'il est exécuté, si l'expression est fausse (c'est-à-dire égale à 0), assert écrit des informations sur l'appel qui a échoué dans stderr, puis appelle abort ; plus précisément, les informations écrites dans stderr sont :

  • le nom du fichier source ;
  • le numéro de la ligne concernée dans le code source ;
  • la fonction mise en jeu dans le code source ;
  • le texte de l'expression qui a été évaluée à 0.

Les assertions implémentées par la macro assert ne sont diagnostiquées que lors de l'exécution du code compilé en mode de débogage. Si le code est compilé en mode opérationnel (dit mode release), les assertions ne sont pas diagnostiquées[1].

  1. a et b « C++ Assert », sur www.programiz.com (consulté le )
  2. Emmanuel CHENU, « Programmez par Contrat » Accès libre [PDF], (consulté le )

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne