Problème de libération mémoire \Visual C++ [C] - C++ - Programmation
Marsh Posté le 20-10-2002 à 04:33:15
[devin]
Tu as corrompu la pile avec un débordement mémoire dans ton programme.
[/devin]
Marsh Posté le 20-10-2002 à 11:15:49
Pourtant mon code semble bavure :
main.c :
Code :
|
C'est à l'appel de sstack_destroy(ppile) que VC++ me retourne l'erreur citée + haut.
Au travers de quelques autres forums, j'ai trouvé d'anciens posts qui traitent du pb.
1) Cela peut s'agir d'1 pointeur corrompu
2) free() refuse la libération du bloc mémoire car celui-ci à été alloué sur un autre tas.
Je ne vois mon pb ni dans 1) ni dans 2) ???
La mémoire est bien alloué dans la même dll qui tente de la libérer donc dans le même tas.
???
Dll
sstack.h
Code :
|
sstack.c
Code :
|
Marsh Posté le 19-10-2002 à 16:14:47
Bonjour,
Quand je déroule mon prg en mode déboguage sous vc++ j'obtiens l'erreur suivante à la destruction d'une pile par l'intermédiare d'1 fct de dll importée. Cette même pile ayant été alloué par une autre fct de cette même dll :
User breakpoint called from code at 0x102124af
Vc++ s'arrête dans le if de la biblio. dbgheap.c - Debug CRT Heap Functions, après appel de free():
Une idée ?