MEMAVAIL |
Mémoire disponible |
---|---|
Turbo Pascal 3+ | System |
Syntaxe
Function MemAvail:Integer; | Version 3 |
Function MemAvail:LongInt; | Version 4 à 7 |
Description
Cette fonction permet de demander la taille total en octet de mémoire dynamique allouable dans la mémoire de tas.
Remarque
- Le nombre retourné par la fonction MemAvail est calculé en ajoutant les tailles de tous les blocs libres situés sous le pointeur de segment de mémoire à la taille de la mémoire libre située au-dessus du pointeur de segment de mémoire. Notez que, sauf si Dispose et FreeMem n'ont jamais été appelés, il est peu probable qu'un bloc d'entreposage de la taille de la valeur renvoyée soit disponible en raison de la fragmentation du segment de mémoire. Pour trouver le plus grand bloc libre, appelez la fonction MaxAvail. Votre programme peut spécifier les exigences de tas minimales et maximales à l'aide de la directive de compilation $M.
Exemple
Voici un exemple de l'utilisation de cette fonction :
- Program MemAvailSamples;
-
- Var
- A:Pointer;
-
- BEGIN
- If(MemAvail > 4096)Then Begin
- If(MaxAvail > 4096)Then Begin
- GetMem(A,4096);
- WriteLn('Bloc de 4096 octets d''allouer');
- End
- Else
- Begin
- WriteLn('Pas assez de mémoire disponible en bloc continue');
- End;
- End
- Else
- Begin
- WriteLn('Pas assez de mémoire disponible');
- End;
- WriteLn('Taille du plus gros bloc de mémoire disponible = ',MaxAvail);
- WriteLn('Taille total de mémoire disponible = ',MemAvail);
- END.
on obtiendra un résultat semblable au suivant :
Bloc de 4096 octets d'allouerTaille du plus gros bloc de mémoire disponible = 192816
Taille total de mémoire disponible = 192816
Référence
Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 290.
Dernière mise à jour : Dimanche, le 25 janvier 2015