begin process at 2008 07 06 17:41:05
1 205 686 membres
251 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : desalocation char** foireuse [ Archives / Au secours ] (MuPuF)

desalocation char** foireuse le 08/02/2006 19:15:34

MuPuF
Bonjour, j'ai un probleme d'allocation/désalloc mémoire

voila la bete :

char** File.PMD5;

//Aloue
File.PMD5=new char*[File.NumHash];
    for(unsigned int i=0;i<=File.NumHash;i++)
        File.PMD5[i]=new char[33];

//S'amuse avec sans faire de buffer overflow

//Désaloue la mémoire
    for(unsigned int i=0;i<File.NumHash;i++)
        delete[] File.PMD5[i];
    delete[] File.PMD5;

Alors ça plante en release mais pas en debug (juste un avertissement sur delete[] File.PMD5; meme si j'ai pas compris pourquoi, j'ai tenté de le virer mais plante quand meme).
Alors le programme plante avec un i variable, je comprend pas ...

Si quelqu'un a compris pourquoi, ce serais simpa une réponse, merci d'avance.

Re : desalocation char** foireuse le 08/02/2006 19:24:42

ymca2003
for(unsigned int i=0;i<=File.NumHash;i++)
=> un cran trop loin
for(unsigned int i=0;i<File.NumHash;i++)

Re : desalocation char** foireuse le 08/02/2006 20:08:47

MuPuF
bien vus, mais ya quand meme encore des erreurs, je cherche ;-)
Merci deja !!!

Re : desalocation char** foireuse le 08/02/2006 20:24:07

cosmobob
salut,
le problème est ailleurs, tu dois ecrire en dehors des bornes de ton tableau ...
copie colle le reste ou regarde toi meme, mais ton simple exemple ne devrait pas planter (ton < à la place de <= doit provoquer une fuite de mémoire, et non pas un plantage!)

a+

Re : desalocation char** foireuse le 08/02/2006 22:29:30

MuPuF
oui, c'est ça qui me chargrine, je cherche, en fait, dans ce tableau de tableau je stoque les MD5 de partie de fichier.
Le client n'a pas de probleme lors de la suppression du tableau, c'est donc un probleme lors de la création de ce tableau sur le serveur, je cherche donc, j'ai une piste la avec un modulo qui ferait chier, mais bon, je crois que je vais le laisser tomber et me refaire une fonction modulo.

Re : desalocation char** foireuse le 08/02/2006 22:47:14

MuPuF
MARCHE ! c'étais cette histoire de modulo de merde !

bool Modulo(unsigned long Int,unsigned int modulo)
{
    float Resultatvirgule;
    unsigned int ResultatInt;
   
    Resultatvirgule=((float)Int)/((float)modulo);
    ResultatInt=Int/modulo;

    return Resultatvirgule==ResultatInt;
}

Ca marche trés bien ! hey hey lol, faut que je l'optimise un peu quand meme par contre meme si ici c'est pas grave de perdre 1/2 ms (sachant que apres le temps d'attente lors de la création du hash est bien plus grande)

Merci de votre aide ! (je pensais que j'étais fou lol) @+ et bon coding (hey hey, plein de bug résolus en plus)

Re : desalocation char** foireuse le 09/02/2006 08:35:38

ymca2003
Int%modulo == 0 serait déjà mieux je pense.

Re : desalocation char** foireuse le 09/02/2006 18:04:03

MuPuF
ben c'est ce que je faisais :-(


Classé sous : file, char, delete, plante, pmd5

Participer à cet échange

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS