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

MFC Discussion :

Libérer la mémoire d'un membre statique


Sujet :

MFC

  1. #1
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut Libérer la mémoire d'un membre statique
    Bonjour à tous,

    Je me pose des questions sur la libération de la mémoire allouée aux membres statiques d'une classe. La mémoire est allouée au chargement de la classe (ou plus tard s'il s'agit d'un pointeur), mais est-elle bien libérée lorsque l'application se ferme ?
    Je pense que la mémoire des membres statiques est libérée en utilisant automatiquement leur destructeur lorsque l'appli se ferme, mais j'aimerais en être certain.

    Je doute depuis que l'outil Compuware DevPartner BoundsChecker Suite me signale des fuites de ressources sur des membres statiques (alors que ceux-ci sont censés libérer les ressources en question dans leur destructeur)...

    Merci par avance pour vos réponses.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu dois gérer la libération des allocations faites dans un membre statique ...
    par exemple avec un compteur d'instance statique dans ta classe, la libération se faisant alors sur la dernière instance de la classe dans son destructeur.
    ou alors tu faire la libération dans exitinstance...
    dans tous les cas visual est capable de t'afficher les fuites mémoires dans le panneau debug.

  3. #3
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    C'est donc plus compliqué que ce que je pensais. J'avais raison de me poser des questions !
    En fait, je parlais de la mémoire, mais les cas qui me concernent actuellement sont plutôt des problèmes de ressources... (Et Visual ne détecte pas les fuites de ressources).
    Par exemple, j'ai une classe A qui contient une variable membre statique, instance de la classe B. Dans le contructeur de la classe B, un LoadLibrary est effectué. Bien sûr, on trouve FreeLibrary dans le destructeur, mais BoundsChecker me dit que la ressource n'est pas libérée... Alors que quand j'utilise le débugueur, on entre bien dans le destructeur. Je pense que dans ce cas, la ressource est bien libérée et que c'est BoundsChecker qui perd les pédales, mais ça m'a fait réfléchir à la question.

    Merci, Fascape !

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

Discussions similaires

  1. Donnees membres statiques allignement mémoire
    Par Sébastien P dans le forum C++
    Réponses: 5
    Dernier message: 11/04/2007, 11h24
  2. membre statique dans une classe
    Par motrin dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 30/12/2005, 15h15
  3. Comment libérer la mémoire d'un TList ?
    Par Tchaill39 dans le forum Langage
    Réponses: 8
    Dernier message: 16/11/2005, 17h53
  4. membres statiques
    Par Math75 dans le forum C++
    Réponses: 1
    Dernier message: 17/10/2005, 14h53
  5. Membre statique et DLL
    Par Invité(e) dans le forum Windows
    Réponses: 2
    Dernier message: 15/04/2005, 14h04

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