Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1847 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[C] plantage a la liberation de la memoire

n°819850
GuiYom_00
Posté le 11-08-2004 à 00:15:42  profilanswer
 

Reprise du message précédent :
C'est sur que la liste chainée, je vois pas trop comment je pourrais faire autrement...
et bon, le modele enum+union est assez rapide a mettre en place, mais vu que je suis quand meme un peutetu, je vais essayer de voir plus en detail les raisons des plantages...car les pointeurs, je fais gaffe justement a essayer de pas trop les "deplacer" mais juste a modifier leurs valeurs...

mood
Publicité
Posté le 11-08-2004 à 00:15:42  profilanswer
 

n°819854
Taz
bisounours-codeur
Posté le 11-08-2004 à 00:18:01  profilanswer
 

le truc c'est que t'es le débutant dans sa phase "les pointeurs je maitrise, suffit de caster" alors que tu as tout faux ...

n°819877
blackgodde​ss
vive le troll !
Posté le 11-08-2004 à 01:22:37  profilanswer
 

pourquoi ne pas créer un objet permettant de contenir differents type, une map et un operateur pour lire/ecrire dans un flux pour l'accès aux fichiers ? en 30 lignes de code ca serait plié, propre, et tout :o


---------------
-( BlackGoddess )-
n°819882
blackgodde​ss
vive le troll !
Posté le 11-08-2004 à 01:31:59  profilanswer
 

pslCur->PrevElm->NextElm=pslCur->NextElm;  
     pslCur->NextElm->PrevElm=pslCur->PrevElm;  
 
(de DelVar ou delVar, tout depend si on regarde la déclaration ou la définition)
 
et si ya qu'un seul élément ?
 
pslCur->PrevElm == NULL
pslCur->NextElm == NULL
 
edit : pardon, pas NULL, mais (pSLelement)0 comme tu écris si joliment


Message édité par blackgoddess le 11-08-2004 à 01:33:26

---------------
-( BlackGoddess )-
n°819886
blackgodde​ss
vive le troll !
Posté le 11-08-2004 à 01:38:15  profilanswer
 

    pslCur=SLfile::pSLlast->PrevElm;  
     while (pslCur!=(pSLelement)0)  
 
(de SLfree)
 
si ya aucun élément, SLfile::pSLlast->PrevElm; => boom
si ya un seul élément, ca fuit :o


---------------
-( BlackGoddess )-
n°819887
blackgodde​ss
vive le troll !
Posté le 11-08-2004 à 01:45:06  profilanswer
 

Code :
  1. pSLnew->pvVal=(void *)malloc(sizeof(int *));
  2. ...
  3.         case SL_DOUBLE: *(double *)pSLnew->pvVal = *(double *)SLe->pvVal;
  4. ...
  5.         case SL_STRING: sprintf((char *)pSLnew->pvVal,"%s",(char *)SLe->pvVal);


 
superbe ...
 
(notons au passage le cast void* => void*)


Message édité par blackgoddess le 11-08-2004 à 01:46:30

---------------
-( BlackGoddess )-
n°819965
cris56
Posté le 11-08-2004 à 09:34:07  profilanswer
 

ou le cast du void * tout simplement

n°819995
Taz
bisounours-codeur
Posté le 11-08-2004 à 10:01:49  profilanswer
 

il est en C++ n'oublie pas

n°820003
cris56
Posté le 11-08-2004 à 10:14:42  profilanswer
 

mais le sujet est dans la cat C ? (ou alors j'ai loupé un truc )

n°820031
Taz
bisounours-codeur
Posté le 11-08-2004 à 10:37:01  profilanswer
 

oui mais c'est du C++ uniquement parce qu'il y a un structure de classe.
 
mais tu un exemple magistrale de code C pourri, fait par un débutant, qui se refuse à utiliser le C++ qui pourtant gérerait pour lui toutes les allocations/destructions et tous les aspects bas niveau qu'il ne maitrise pas

mood
Publicité
Posté le 11-08-2004 à 10:37:01  profilanswer
 

n°820038
cris56
Posté le 11-08-2004 à 10:41:24  profilanswer
 

lol, j'avais oublié qu'il faisait du c avec des classes
 

n°820053
oliv5
Pourquoi ? Parce que !
Posté le 11-08-2004 à 10:55:17  profilanswer
 

Je vous adore taz et cris.  :D  Plutot que de lui filer un exemple qui marche, propre et tout, vous ne faites que le casser.  :o  
 
Je pense qu'il a compris que son code est sale. Maintenant, filez lui une soluce, un exemple, et pas seulement des conseils inexploitables (pour un débutant, chose sur laquelle vous avez bien insistée) du type : "utilise des enums et des unions".

n°820057
cris56
Posté le 11-08-2004 à 10:57:21  profilanswer
 

du type : "utilise des enums et des unions".
 
mais peut etre justement qu'il vaudrais mieux faire ca en c++, pour avoir un code plus sur

n°820060
Taz
bisounours-codeur
Posté le 11-08-2004 à 10:58:56  profilanswer
 

ta gueule toi :o
 
suffit de chercher sur le forum, je passe ma vie à filer des exemples propres et complets, je vais pas non plus me casser le cul pour un gus pas fichu de faire une recherche

n°820175
oliv5
Pourquoi ? Parce que !
Posté le 11-08-2004 à 12:10:25  profilanswer
 

cris56 a écrit :

du type : "utilise des enums et des unions".
 
mais peut etre justement qu'il vaudrais mieux faire ca en c++, pour avoir un code plus sur


 
Tout a fait d'accord, mais un débutant (et c'est bien ca que vous lui reprochez non ?) ne saura pas le faire.

n°820190
Taz
bisounours-codeur
Posté le 11-08-2004 à 12:19:48  profilanswer
 

ben justement
 
std::list< SL > et c'est fini. le c++ est plus facile, surtout pour les débutants.

n°820253
blackgodde​ss
vive le troll !
Posté le 11-08-2004 à 13:36:09  profilanswer
 

apparement chaque variable a un nom, c pour ca que je voyais plutot std::map


---------------
-( BlackGoddess )-
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[debutant] Probleme d'allocation memoire pour de grands tableaux[Java] Problème de taille mémoire avec un JTree
[C++] Plantage d'une dll [résolu][ASM] Optim : précalcul en mémoire ou calcul sur registres ?
[Oracle] Debug - Forcer le plantage dans cas particulier...Mise en mémoire d'évènements midi : HashMap ?
pile memoire - modification donneesPlantage inexpliqué dès que je touche à un .h
[Weblogic] pas assez de mémoire sous l'EDI Workshopgestion de la memoire
Plus de sujets relatifs à : [C] plantage a la liberation de la memoire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR