begin process at 2012 05 29 20:53:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Divers

 > 

Problème bizarre avec free


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

Problème bizarre avec free

jeudi 22 juin 2006 à 20:26:52 | Problème bizarre avec free

saturne_1606

Boujour à toutes et à tous!

Je me permet de vous écrire parce que je suis face à un problème que je n'arrive pas à résoudre seul.
Voilà, j'alloue un tableau dynamique de "char". Lorsque je dois libé rer ce tableau avec "free", le

programme plante littéralement.
J'ai vérifié la valeur du pointeur vers la zone mémoire alloué, et il ne change pas entre sa création et

son effacement, donc je ne comprend pas du tout d'où peut venir un pareil problème.
J'aimerai que vous m'éclairer sur ce problème et éventuellement me dire quels sont les différents problèmes

que je pourrais rencontrer avec "free".

Un bout de mon code:

u8* pixel_data_line = NULL;
pixel_data_line = (u8*)memalign(16, nb_octet_a_lire);
printf("pixeldataline avant : %p\n", pixel_data_line);
...//Traitement
printf("pixeldataline apres : %p\n", pixel_data_line);
free(pixel_data_line); // <-------------------------------A CETTE LIGNE LE PROG PLANTE

PS : Je programme en C sur Sony PSP

Merci beaucoup pour votre aide.

jeudi 22 juin 2006 à 21:14:42 | Re : Problème bizarre avec free

vecchio56

Administrateur CodeS-SourceS
Un free doit venir après un malloc au même endroit. Je vois pas de malloc dans ton code

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 22 juin 2006 à 21:42:45 | Re : Problème bizarre avec free

saturne_1606

J'utilise "memalign" au lieu de "malloc", parce qu'il faut que mon tableau soit aligné sur 16bits ;)
Merci quand même de m'avoir répondu
jeudi 22 juin 2006 à 22:25:48 | Re : Problème bizarre avec free

vecchio56

Administrateur CodeS-SourceS
Pardon je connaissais pas cette fonction.
Le problème vient donc certainement de ton traitement:
-modifies-tu pixel_data_line? (il ne faut pas)
-fais attention a ne pas écrire en dehors de la mémoire allouée

_____________________________________
Un éditeur de ressources gratuit pour Windows

jeudi 22 juin 2006 à 23:22:33 | Re : Problème bizarre avec free

saturne_1606

Je me suis dis la même chose; que le problème vient du traitement. Pour ce qui est de pixel_data_line, j'ai vérifié le pointeur et il reste le même, il reste donc la possibilité que mon traitement écrit en dehors de la zone allouée, cependant, je ne vois pas l'erreur.

Voici le traitement effectué :

for(y = 0; y < texture_info->imageHeight; y++)
{
     fread(pixel_data_line, sizeof(u8), nb_octet_a_lire, FichierID);
     for (x = 0; x < nb_octet_util; x++)
     {
          texture_info->data8[x + (texture_info->imageHeight -1-y) * texture_info->textureWidth ] =  pixel_data_line[x];
      }
}

texture_info->data8 étant un tableau dynamique de "u8" ( unsigned sur 8 bits sur Sony PSP).

Merci pour l'info du dépassement de tampon ;)

vendredi 23 juin 2006 à 23:59:40 | Re : Problème bizarre avec free

saturne_1606

Réponse acceptée !
Bon, finalement après une longue recherche, j'ai enfin trouvé la solution moi même .
En fait, l'erreur est effectivement dans les traitements, mais à ma grande surprise, n'a aucun rapport avec "pixel_data_line".
J'ai fait quelques calculs, et il s'avère que j'écrivais en dehors du tableau dynamique "texture_info->data8".
Merci à ceux qui ont bien voulu m'aider et longue vie au forum de cppfrance


Cette discussion est classée dans : problème, data, pixel, free, line


Répondre à ce message

Sujets en rapport avec ce message

problème avec la transmission de charactères via ODBC [ par suzane ] Salut!j'utilise ODBC driver pour me connecte a une base de données, je veux donc stocké des chaînes de caractères en Arabe,alors je doit désactivé l'o problème de redéfinition a la compilation [ par bouba ] Arg, j'ai un blem de redéfinition a la compilation de mon application.Voici le message d'erreur que me donne gcc 3.1.main.o(.data+0x0): définitions mu goto [ par speeddo ] Bonjour,J'ai un petit problème:il y a un problème avec un goto, voici la syntaxe que j'utilise:line:goto line;où est le problème? c'est bien ça non? < Data Packer [ par Morithil ] Bonjour !Je m'en réfère à Cpp-France pour un petit problème ... En ce moment, avec un ami, nous travaillons sur la réfaction d'un vieux jeu NES (Zelda Problème avec A* [ par JMGR ] Bonjour, Je n'ai pas réussi à faire marcher mon programme de recherche de chemins avec A*... Quand il n'y a pas d'obstacle ça marche sans problème m lecture fichier binaire [ par SesechXP ] Salut !Je cherche à lire des données dans un fichier binaire afin de les réafficher en ascii.Voici la tête du fichier à lire @10004A 75 6C 69 65 6E FF problème d'affichage [ par hamoudito ] voilà comment j'enregistre mon fichier et ce que j'aurai besoin de le faire c'est d'afficher le résultat qui se trouve dans ce fichier par "run", ou b problème avec le son [ par F0ra ] Bonjour, Je réalise un jeu, et j'ai un problème avec le son. Traitement d'image jpeg en c [ par Allamo777 ] Bonjour,Ceci est mon premier message et je dois bien avouer que je commence tout juste dans le monde de la programmation...Voilà mon problème : Je che


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,281 sec (4)

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