Page 1 sur 1

libérer de la mémoire

Publié : sam. 09/juil./2005 23:19
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

Publié : sam. 09/juil./2005 23:29
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.

:)

Publié : sam. 09/juil./2005 23:35
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

Publié : lun. 11/juil./2005 18:40
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).

Publié : lun. 11/juil./2005 19:54
par Dr. Dri
Merci pour la confirmation... L'allocation est gérée par le système d'exploitation ??

Dri