libérer de la mémoire

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

libérer de la mémoire

Message par Dr. Dri »

si j'alloue un bloc de mémoire de N octets à l'adresse ptr.

Code : Tout sélectionner

ptr = AllocateMemory(N)
Est-ce que pour libérer la mémoire je dois absolument passer par ptr ou bien je peux me contenter de n'importe quel octet de la plage [ptr; ptr+N-1] pour libérer la mémoire ?

exemple :

Code : Tout sélectionner

ptr = AllocateMemory(2)
FreeMemory(ptr+1);c'est correct ca ??
Dri
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Si on fait un debug la fonction return 1 seulement pour l'adresse de début d'allocation, donc je dirais qu'il faut conserver cette valeur pour libérer la mémoire.

:)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

ah pas bete
l'aide ne dis pas que la fonction renvoie un résultat

alors bien sûr moi j'ai pas cherché à savoir ^^

Dri
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Il faut utiliser le meme pointer pour liberer la memoire, sinon ca peut planter a tout moment (et surtout ca ne libere rien du tout).
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Merci pour la confirmation... L'allocation est gérée par le système d'exploitation ??

Dri
Répondre