LIBRAIRIE POUR ÉVITER LES FUITES MEMOIRES

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 20 déc. 2007 à 16:32
tomka123 Messages postés 1 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 17 juillet 2008 - 17 juil. 2008 à 12:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45136-librairie-pour-eviter-les-fuites-memoires

tomka123 Messages postés 1 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 17 juillet 2008
17 juil. 2008 à 12:48
Salut,
A propos des commentaires, évite de mettre des commentaires c++ " // " dans du code que tu compileras en c.

Certains compilos (le st20cc il me semble) peuvent générer des erreurs !
Les seuls commentaires possibles en C sont " /* */ "

A+
glipper Messages postés 246 Date d'inscription dimanche 2 juin 2002 Statut Membre Dernière intervention 11 septembre 2016 1
3 mars 2008 à 12:33
le programme gdb sous linux peut t'avertir des fuites mémoires.
C'est assez simple à utiliser pour ça il me semble.
vaniweb Messages postés 8 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 3 mars 2008
3 mars 2008 à 11:30
Il y a t-il le même outil pour un programme C++ (avec les fuites de mémoires occasionnées par les appels à new sans le delete correspondant.)
Je sais que sous Visual C++ il existe des fonctions déclarées dans ctrdgb.h qui vérifie les opérations effectuées avec le tas et détectent les fuites de mémoire. Mais est-il possible d'utiliser ses mêmes fonctions sous l'environnement Linux ? ou peut-il y avoir des librairies similaires que l'on peut utiliser sous linux ?
tit_toinou Messages postés 49 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 16 juillet 2008
28 déc. 2007 à 20:04
code très pratique et à utiliser dans tous ses programmes ! 10/10
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
24 déc. 2007 à 17:30
oui c'est juste...
en fait moi dans mes libraries, la variable <var> aurait ete mis a NULL pour montrer que le pointeur n'est plus valide
shenron666 Messages postés 229 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 20 août 2014
21 déc. 2007 à 19:46
JCDjcd > le second free(var) n'est pas un free(NULL) mais un free(pointeur invalide) car déjà désalloué ce qui peut générer une erreur à l'execution (runtime error) = plantage
et free(NULL) ne fait rien
tnt95 Messages postés 9 Date d'inscription mardi 18 décembre 2007 Statut Membre Dernière intervention 25 décembre 2007
21 déc. 2007 à 13:32
Je pense que le programme peut être bien utile pour les débutants commz moi mais j'ai juste un petit probléme décompression du fichier. Vos explications sont claire et pas de trop ...

Bonne continuation
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
21 déc. 2007 à 07:00
perso j'utilise valgrind pour ce genre de choses, les logs y sont tres complets :)
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
20 déc. 2007 à 16:32
quand l'utilisateur fait un free(NULL) (le second "free(var);"), il ne faut pas juste
l'enregistrer dans log.txt, mais carrement afficher un message d'erreur, et quitter
me programme, car ca ne sert a rien de continuer !
Rejoignez-nous