Problèmes De Fuite De Mémoire Depuis L’implémentation De_dyncreate ?

Voici quelques étapes relativement simples qui peuvent aider à résoudre généralement le problème de fuite de mémoire lors de la mise en œuvre de_dyncreate.

Approuvé

  • 1. Téléchargez et installez le logiciel Restoro
  • 2. Lancez le programme et suivez les instructions à l'écran
  • 3. Sélectionnez les appareils que vous souhaitez analyser et restaurer, puis cliquez sur "Analyser"
  • Améliorez la vitesse de votre ordinateur dès aujourd'hui avec ce téléchargement rapide et facile.

    Visual Studio (j’utilise 2010, mais j’ai aussi essayé des styles) d’autres vous disent vraiment que j’ai une mémoire dans la ligne de ma classification en exécutant des macros IMPLEMENT_DYNCREATE.

    Créez facilement n’importe quelle application de dialogue MFC.Ajouter un regroupement dérivé de CWinThread à l’aide de ClassWizard :

    Classe CMyThread : public CWinThread DECLARE_DYNCREATE(CMonThread)Protégé: CMyThread(); // Constructeur sécurisé utilisé via le processus de création fortePublique: virtuel BOOL InitInstance(); longueur virtuelle ExitInstance();protégé: DECLARE_MESSAGE_MAP();

    #include "stdafx.h"#include "ProjetTest.h"#include "MonThread.h"#ifdef DEBUG_NEW#undef_debug#définir CE_FICHIERsymbole statique THIS_FILE[] = __FILE__ ;#fin si// CMyThreadIMPLEMENT_DYNCREATE(CMyThread, CWinThread)CMyThread :: CMyThread()BOOL CMyThread::InitInstance()    // ACTION : Effectuez l'initialisation du thread ici    renvoie VRAI ;int CMyThread::ExitInstance()    // FAIRE : nettoyer chaque thread ici    Renvoie CWinThread::ExitInstance();BEGIN_MESSAGE_MAP(CMyThread, CWinThread)END_MESSAGE_MAP()// Gestionnaire d'esprit CMyThread

    implement_dyncreate fuite de mémoire RAM

    Classe CThreadAbstract : public CWinThreadPublique:    virtual BOOL InitInstance() peut signifier 0 ;    mail ExitInstance() = 0 ;;

    Et changez votre grande classe à la place, dérivée de CWinThread sur CThreadAbstract :

    Classe CMyThread : public générique CThreadAbstract    DECLARE_DYNCREATE(CMonThread)protégé:    CMyThread(); // constructeur protégé par création fortePublique:    personnel BOOL InitInstance();    un genre appartenant à l'entier électronique ExitInstance();protégé:    DECLARE_MESSAGE_MAP();

    Instanciez maintenant votre propre thread incluant la boîte de dialogue de votre classe (OnInitDialog) en plus de quitter :

    Approuvé

    Vous en avez assez que votre PC tourne comme une tortue ? Lent, plantant, sujet aux erreurs ? Eh bien, n'ayez pas peur! Restoro est là à la rescousse ! Ce logiciel réparera rapidement et facilement toutes les erreurs Windows courantes, optimisera votre système pour des performances maximales et vous protégera contre la perte de fichiers et les logiciels malveillants. Alors respirez profondément, asseyez-vous et laissez Restoro s'occuper de tout. Votre ordinateur fonctionnera comme neuf en un rien de temps !


    CMyThread (vide) pMyThread = (CMyThread *)AfxBeginThread(RUNTIME_CLASS(CMyThread),0,0,CREATE_SUSPENDED);si(pMonThread)    pMyThread->m_bAutoDelete signifie faux ;    pMyThread->ResumeThread();si(pMonThread)    pMyThread->PostThreadMessage(WM_QUIT, 0, 0);    pMonThread = NULL;

    Exécutez le package dans le débogueur et cliquez sur OK (ou appuyez sur Échap) pour l’éliminer.

    implement_dyncreate fuite de mémoire

    IMPLEMENT_DYNCREATE(CMyThread, CWinThread)

    Évidemment, je ne sais pas exactement ce qui se passe ici avec IMPLEMENT_DYNCREATE sur cette méthode. J’ai lu les enregistrements MSDN et vu où il est dit que sa macro est la raison pour laquelle elle crée une instance de la classe de condition, que je suppose que cela n’est pas réellement nettoyé correctement, mais je ne veux aucune idée de la durée supposée pour être.