FREEMEM |
Libérer la mémoire |
---|---|
QuickPascal | System |
Syntaxe
Procedure FreeMem(p:Pointer; t:Word); |
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é |
t | Ce paramètre permet d'indiquer la 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.
Remarque
- La procédure FreeMem désalloue une région de mémoire dynamique identifiée par p et ayant une taille t donné (en octets). Le paramètre p doit avoir été préalablement créé par un appel à la procédure GetMem.
Exemple
Voici quelques exemples typiques de l'utilisation de «FreeMem» en QuickPascal :
- 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
Dernière mise à jour : Vendredi, le 13 février 2015