begin process at 2012 05 28 20:43:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Désallocation mémoire!!!


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

Désallocation mémoire!!!

mardi 21 décembre 2004 à 20:53:29 | Désallocation mémoire!!!

PunkDude424

Mon problème est le suivant:

J'avais un semblant de screen saver en Java qui affichais des etoile a chaque temps X et d'une durée Y ....la structure de mon programme était une classe CFenetre qui affichais une fenetre et fesais une grille de 30 par 30 JLabel (des static)....jenvoyais cette grille a une classe CCreeEtoile qui elle choisisais avec un random un JLabel et fesais un new CEtoile qui elle partais un thread qui affiche létoile ...fais un sleep dune duré de X et effacais létoile.....
mon probleme est que en Java il ny a pas de delete....donc quand je fais des new CEtoile....apres un certain temps le Garbage collector passe et les "delete"....mais maintenant je veux le faire en C++....j'ai faite la meme structure de programme....mais quand je fais des new CEtoile.....ben en c++ il faut que je les delete un moment donné....alors comment faire ???.....je ne sais pas quelle va etre la durée de létoile.....comment fiare pour désalloué la mémoire proprement??....y a til moyen de dire au thread par exemple quand ta fini delete toi toi meme ????


Merci
mercredi 22 décembre 2004 à 10:47:45 | Re : Désallocation mémoire!!!

minet03

delete pointeur;
si c'est pour une classe il faut rajouter autre chose mais je ne sais pas quoi. Donc renseigne toi sur cette fonction.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
mercredi 22 décembre 2004 à 10:54:51 | Re : Désallocation mémoire!!!

garslouche

Es-tu bien sûr que tes etoiles etaient detruites ? Le garbage collector detruit les objets lorsque plus personne n'y fait reference, mais dans ton cas les references existent toujours, a moins que tu ne les ai retirées a la main...

Quoiqu'il en soit le moment pour detruire les etoiles est simplement le moment où elles disparaissent... Tu as dis toi-même qu'apres Y secondes elles n'existent plus. Il suffit donc que ton CCreeEtoile supprime les etoiles qu'il a créé à la fin de la tempo. Il se peut que tu aies besoin de maintenir une liste de pointeurs des etoiles créées pour les detruire ensuite.


On ne force pas une curiosité, on l'éveille.
.................................................Daniel Pennac
mercredi 22 décembre 2004 à 19:51:02 | Re : Désallocation mémoire!!!

PunkDude424

Le garbage collector passe car je nassigne pas de variable a mon objet...donc aucune variable ny fais référence...

je ne peut pas les delete dans CCreeEtoile car je ne sais pas apres combien de temps elle meurt.....c'est random....

mercredi 22 décembre 2004 à 23:06:05 | Re : Désallocation mémoire!!!

minet03

stock ton random dans une variable !

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite


Cette discussion est classée dans : mémoire, delete, désallocation, cetoile, létoile


Répondre à ce message

Sujets en rapport avec ce message

Libération mémoire.... [ par Clonk ] Bonjour,Voilà, j'ai une appli qui utilise énormément de mémoire, jai plusieurs listes chainées de plusieurs milliers d'enregistrements, de nombreuses désallocation de pointeur [ par donlefou ] Bonjour voici un bout de code :C_Liste *lst = new C_Liste;........autre_liste->ajout(lst);//delete lst;Je n'arrive pas à delete la liste lst. Erreur sur delete[] et pb alocation mémoire [ par dan34 ] Salut,J'ai un soucis avec le bout de code suivant. En fait j'ai créé un objet qui contient un tableau de char dont j'alloue dynamiquement la taille en Allocation de mémoire dans une dll ? [ par tintin72 ] Bonjour, Lorsque de la mémoire est allouée par une dll, est ce que cette mémoire doit être également  libérée par la dll ou est ce que l'application h desallocation de mémoire de structure..... [ par psyko_flex ] Je voudrais une petite aide sur la désallocation de la mémoire...voila je passe unen structure dans une fonction, regarder l exemple:( ma structure s malloc (ms vc++) [ par DeadlyPredator ] Bonjour,J'ai une fonction:char*  _fastcall strLeft(const char* lpszString, const long nLength) { char* lpszBuffer; lpszBuffer=(char*)malloc(nLength+1) allouer de la mémoire pile. [ par deck_bsd ] Bonjour, Voila j'ai un problème , j'ai fait une partie de programme qui est chargé d'allouer juste assez de mémoire a un pointeur  de type char pou Allocation mémoire impossible [ par tzandre ] hello, Je fais du calcul scientifique, j'ai une machine avec 2G de RAM, mon job fait des allocations pour 1,3Gb avant de libérer de la mémoire pour se Enregistrement de donnée sur une mémoire type EEPROM [ par tite_july ] Bonjour à tous, Je suis actuellement sur un projet dans lequel je doit aller enregistrer des donnée depuis un jusque dans une memoire type EEPROM via Libérer de la mémoire dans une dll ? [ par tintin72 ] Bonjour, Je suis en train de programmer une dll dans laquelle j'alloue de la mémoire avec malloc. Mais j'ai une petite question concernant la libérat


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 : 0,733 sec (4)

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