IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[Fuite de mémoire]


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Par défaut [Fuite de mémoire]
    Voilà, j'ai remarqué que mon programme me bouffe jusqu'à plusieurs méga par secondes. Ce qui n'est pas vraiment bien. J'ai établi une surcharge des opérateurs new et delete. Dans cette surcharge, j'agis sur un compteur qui compte le nombre de new sans delete. Seulement je vois que se nombre (très grand) ne varie pas pendant la durée du programme. Il est statique...

    Alors pourriez vous me donner quelques pistes de recherches. Mon programme est un jeu 3D iso. Il manipule donc des images. Seulement celle-ci ne sont chargé qu'une seule fois en début de programme dans une bibliotheque. Il ne devrait donc pas y avoir de problème à ce niveau.

    Enfin voilà, mettez vos pistes de recherche afin que je puisse résoudre ce problème.

    Je travaille sur winXp, avec Devcpp 4.9.9.2.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 97
    Par défaut
    Bon j'ai re-une erreur surement de ma part.

    J'ai fait une surcharge des opérateurs new et delete, seulement en regardant les résultats, et en rajoutant des delete par-ci par-là, je vois que mon compteur reste au meme niveau.

    Alors pour etre sur que delete est bien employé, je fait appel à la méthode exit(0) pour quitter le programme, mais rien... J'ai déjà eu ce problème et il était du à un problème de pointeur et je faisais delete NULL en faite. Ici, c'est un peu différent car je l'emploie à toutes les sauces partout dans mon code, se serait malheureux que se soit encore à chaque fois la meme chose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
          void* operator new (size_t size) {
                void* p = malloc(size);
                compteur++;
                return p;
                }
     
          void operator delete (void* p,size_t size) {
               exit(0);
                compteur--;
                free(p);
                }
    Est ce que j'ai bien surchargé mes opérateurs (le code m'a été donné dans un post précédent). ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fuite de mémoire ?
    Par salseropom dans le forum C
    Réponses: 2
    Dernier message: 12/01/2006, 16h19
  2. Réponses: 1
    Dernier message: 02/12/2005, 14h18
  3. fuite de mémoire
    Par mamag dans le forum MFC
    Réponses: 17
    Dernier message: 19/08/2005, 10h42
  4. Fuite de mémoire en utilisant le template list
    Par schtroumpf_farceur dans le forum Langage
    Réponses: 9
    Dernier message: 18/07/2005, 20h44
  5. Réponses: 8
    Dernier message: 17/10/2002, 12h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo