cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 19 déc. 2007 à 20:06
@ BruNews : Malheureusement il reste toujours des gens qui sont incapables de faire ce geste !!
C'est pour cela qu'on fait des programmes qui vérifient que la mémoire a bien été rendue (je ne sais pas comment ils font)
Mais quand même, Windows$ devrait libérer toute la mémoire allouée d'un programme quand celui-ci est stoppé ...
Cela éviterait de se retrouver avec moins de mémoire à chaque fois qu'on ouvre un programme et qu'on le ferme !!
Mais bon... C'est normal : c'est Micro$oft
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 déc. 2007 à 20:23
Il parlait de son prog qui pouvait avoir des fuites.
Windows garantit la libération de tout ce qui pourrait avoir été oublié par un prog pourri à sa fermeture, fort heureusement sinon il y a longtemps qu'on serait tous passés sous un autre OS.
cs_ghuysmans99
Messages postés3983Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 20 déc. 2007 à 09:17
Ah ... Pourtant quand certains programme sont ouverts et fermés, on a moins de mémoire qu'avant leur démarrage !
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Giles314
Messages postés21Date d'inscriptionsamedi 23 décembre 2006StatutMembreDernière intervention23 avril 2021 20 déc. 2007 à 10:47
Pour répondre à la question posée, j'utilise MPatrol. Je fais toutes mes éditions de lien des versions debug avec. Non seulement il aide à trouver les fuites mémoire mais surtout il évite que les erreurs de manipulation mémoire comme par exemple utiliser un pointeur désalloué aient un comportement aléatoire (qui n'a pas eu un programme qui fonctionne quand il est sous debugger et se plante quand il est executé normalement ?).
Je vous recommande donc chaudement une utilisation intensive de ce genre d'outil car ceux qui pensent ne jamais faire d'erreur de d'allocation/désallocation n'ont pas du beaucoup programmer en C++. Et même si Windows (et tous les OS que je connaisse) libère toute la mémoire allouées aux process executés, ce n'est pas une raison pour consommer de la mémoire en permanence sauf si le programme est par construction appelé à avoir une durée de vie limitée.
Il est compatible avec beaucoup d'environement. Cependant pas avec gcc sous MinGW qui est mon environement. J'ai fait une adaptation pour l'utiliser (un peu sale, j'avoue, puisque je n'ai pas cherché à garder la compatibilité avec les autres plateformes). Si vous développez aussi sous MinGW je peux mettre les sources modifiés à disposition.