La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

La librairie assert.h.

Présentations similaires


Présentation au sujet: "La librairie assert.h."— Transcription de la présentation:

1 La librairie assert.h

2 La fonction assert() La fonction assert() permet:
La validation des assertions d'un algorithmes La détection d'erreurs d'exécution fatales. Jusqu’à présent, nous avons appris à gérer nous même et par du code toutes les assertions vérifiables dans un programme.

3 La fonction assert() Il existe en fait 2 versions de assert:
La version "debug", que l'on retrouve dans la librairie <crtdbg.h> de Visual C++: _ASSERT(condition) La version "release" qui se trouve dans la librairie <assert.h>: void assert(int condition); Cette dernière est plus portable: nous vous encourageons à l ’utiliser à la place de la librairie <crtdbg.h> .

4 La fonction assert() il s'agit d'une macro qui est évaluée comme une instruction conditionnelle. Si expression retourne zéro, assert affiche un message d'erreur et appelle la fonction abort pour finir le programme. Le message d'erreur affiché est de la forme : Assertion failed: expression, file __FILE__, line __LINE__ avec : __FILE__ est une macro donnant le nom du fichier source __LINE__ est une macro donnant le numéro de ligne courante

5 La fonction assert() Par exemple, le programme suivant: int main(void)
{ int i = 0; assert(i > 5); return 0; }

6 Aura le résultat suivant

7 traduction de l ’assertion sur le débordement du tableau
Essayez cet exemple! #include <assert.h> #include <stdio.h> #define TAILLE 512 int calcul(int tab[], int i) { assert(i >= 0 && i < TAILLE); return 2 * tab[i] + 5; } int main() {int tableau[TAILLE]; int i; for (i=0; i<TAILLE; i++) tableau[i]=2; printf("%d\n", calcul(tableau, 1024)); return 0; traduction de l ’assertion sur le débordement du tableau initialisation arbitraire du tableau


Télécharger ppt "La librairie assert.h."

Présentations similaires


Annonces Google