FREEMEM |
Libère la mémoire |
---|---|
Free Pascal | System |
Syntaxe
Procedure Freemem(p:Pointer;Size:PtrInt); |
Function Freemem(p:Pointer):PtrInt; |
Paramètres
Nom | Description |
---|---|
p | Ce paramètre permet d'indiquer le pointeur contenant l'adresse de la mémoire ayant déjà été alloué |
Size | Ce paramètre permet d'indiquer le taille du bloc de mémoire alloué dynamiquement |
Description
Cette procédure permet de libérer une partie de mémoire dynamique attribué dans la zone de mémoire de tas à l'aide de la procédure GetMem.
Remarques
- La procédure et fonction Freemem libère la mémoire occupée par le pointeur p, de taille Count (en octets), et la renvoie au tas. Le paramètre P doit pointer vers la mémoire allouée à une variable dynamique.
- Une erreur se produit lorsque le paramètre P ne pointe pas vers la mémoire de tas.
Exemple
Voici quelques exemples typiques de l'utilisation de «FreeMem» en Free Pascal :
- Program FreeMemSamples;
-
- Type
- TLongInt=Array[0..1000] of LongInt;
-
- Var
- tableau1,tableau2:^TLongInt;
-
- BEGIN
- GetMem(tableau1,1000*sizeof(LongInt));
- GetMem(tableau2,1000*sizeof(LongInt));
- If tableau1 <> NIL Then Begin
- WriteLn('Libère le tableau1');
- FreeMem(tableau1,1000*sizeof(LongInt));
- End;
- If tableau2 <> NIL Then Begin
- WriteLn('Libère le tableau2');
- FreeMem(tableau2,1000*sizeof(LongInt));
- End;
- END.
on obtiendra le résultat suivant s'il y a assez de mémoire disponible :
Libère le tableau1Libère le tableau2
Voir également
Langage de programmation - Free Pascal - Référence de procédures et fonctions - Getmem
Langage de programmation - Free Pascal - Référence de procédures et fonctions - New
Langage de programmation - Free Pascal - Référence de procédures et fonctions - Dispose
Dernière mise à jour : Samedi, le 18 juillet 2015