begin process at 2012 05 29 17:19:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Problème de fuite mémoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème de fuite mémoire

lundi 5 juin 2006 à 14:00:01 | Problème de fuite mémoire

franchouze

Bonjour,

Pour vérifier les fuites mémoires de mon programme j'utilise valgrind.

Voici "l'oubli" de libération détecté par valgrind (ligne avant la stl en gras) :

==7393== by 0x8053AE2: std::vector<double, std::allocator<double> >::push_back(double const&) (stl_vector.h:564)
==7393== by 0x80D07FC: Quadri::calculGeometrieOmbre(double&, double&, double&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, double&, double&, std::vector<double, std::allocator<double> >&, std::vector<double, std::allocator<double> >&, int, int, double&)

Dans ma fonction Quadri, avant appel aux fonctions de la stl, voici la ligne de code fautive :

Hauteur_Hough.push_back( xxx );

où Hauteur_Hough est un vecteur de double et xx est un double.

Je ne comprend pas l'erreur, car normalement, en utilisant les fonctions push_back etc... je ne devrais pas avoir à me soucier des allocations. Dans mon programme j'ai d'autres fuites du meme type lorsque je fais un push_back d'instance d'objet. Je pensais donc que ca venait de ma façon de construire/détruire mon objet. Mais la, ca me le fait pour des doubles alors je comprends plus....

Est ce que quelqu un aurait une piste à me fournir pour résoudre mon problème ?

Merci d'avance pour votre aide
Francois
lundi 5 juin 2006 à 16:06:26 | Re : Problème de fuite mémoire

luhtor

Tu es sur que ce programme valgrind marche bien avec la stl ?


lundi 5 juin 2006 à 16:43:44 | Re : Problème de fuite mémoire

franchouze

Bien deviné !!
Je viens de regarder sur le site de valgrind et il est précisé dans les FAQ que valgrind sort des erreurs du type "XXbytes in YY blocks are still reachable"  car la mémoire n'est pas libérée assez tot.
Pour ce que ca interesse, pour eviter ces messages et libérer la mémoire plus tot, il faut utiliser l'option de compilation  GLIBCXX_FORCE_NEW mais il est précisé que ca ralenti les programmes.

Merci pour ton flair luhtor !
Bye


Cette discussion est classée dans : vector, double, std, push, back


Répondre à ce message

Sujets en rapport avec ce message

Quel est l'équivalent de vector<int> (c++) en C ? Et quel est celui de ....push_back(...); en C ? [ par ndubien ] Salut, Quel est l'équivalent de vector (c++) en C ?Et quel est celui de ....push_back(...); ?<font size à propose de vecteur de char [ par diable007 ] bonjour tout le monde,voila mon codestring leopard(<span style="color: Meca classique: Etude d' oscillation. [ par sidam ] Voila le probleme, je dois programmer une classe MonSystem décrivant le système que je veux faire évoluer.Voila le systeme:J' ai un point M =1kg soumi Casts [ par wismerhill__ ] Bonjour, je debute en c++ et j'aimerais savoir comment faire pour caster une chaine std::string en std double.Je m'explique, en vba il est possible de Taille max d'arguments pour un std::vector<long> [ par wismerhill__ ] SalutBonjour, dans une fonction j'ai un bug bizar qui apparait lorsque je rempli un std::vecto au 369000 élément.Y'a t'il une taille max d'element à v librairie STD:enlever un élément d'un vector [ par tomalille ] Bonjour,je cherche le moyen d'enlever un élément d'un vector dans les librairies STD.Je veux par exemple enlever le 3ième élément. Je suppose qu'il ex Declaration de variables [ par wismerhill__ ] Bonjour, je cherche à faire qqch de tres simple : créer un std::vector dans un constructeur de classe.J'ai essayé MaClasse::MaClasse{monvecteur= new s code en c++ [ par Sgh_Khaoula ] Svp est ce que quelqun'un peut m'aider à coprendre la ligne "Triangles = new std::vector[ Depth ];"MultiMesh::MultiMesh( int depth ) { Depth = depth;  Tri des membres d'une classe (std::vector ou std::list) [ par WolfSpirit2a ] Salut à tous ! je suis actuellement en train de programmer un petit jeu sans prétentions en C++/SDLMalheureusement je suis confronté à un problème sur manipulation de std::vecteur probleme memoire [ par angediablo ] Bonjour a tous! Je suis confronte a de serieux problemes avec la manipulation des std::vector en c++ avec Visual .Net 2003. J' ai developpe un algor


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,652 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales