MEMAVAIL |
Mémoire disponible |
---|---|
Free Pascal 1 | System |
Syntaxe
Function MemAvail:LongInt; |
Description
Cette fonction permet de demander la taille total en octet de mémoire dynamique allouable dans la mémoire de tas.
Remarque
- Les anciennes fonctions MemAvail et MaxAvail de Turbo Pascal ne sont plus disponibles en Free Pascal à partir de la version 2.0. La raison de cette incompatibilité est la suivante : Sur les systèmes d'exploitation modernes, l'idée de « mémoire libre disponible » n'est pas valable pour une application. Ainsi, un cycle de processeur après qu'une application ait demandé au système d'exploitation combien de mémoire est disponible, une autre application peut avoir tout alloué. Ce que signifie «mémoire libre» n'est pas clair : inclut-il la mémoire d'échange, inclut-il la mémoire cache disque (le cache disque peut augmenter et diminuer sur les systèmes d'exploitation modernes), inclut-il la mémoire allouée à d'autres applications mais pouvant être échangé,.... Par conséquent, les programmes utilisant les fonctions MemAvail et MaxAvail doivent être réécrits afin qu'ils n'utilisent plus ces fonctions, car cela n'a plus de sens sur les systèmes d'exploitation modernes. Il y a 3 possibilités : utilisez des exceptions pour détecter les erreurs de mémoire insuffisante. Définissez la variable globale «ReturnNilIfGrowHeapFails» sur True et vérifiez après chaque allocation si le pointeur est différent de Nil. Ne vous en souciez pas et déclarez une fonction factice appelée MaxAvail renvoyant toujours High(LongInt) (ou une autre constante).
Dernière mise à jour : Vendredi, le 25 Juin 2021