Проверка объема доступной
динамически распределяемой памяти
В Borland Pascal определены две функции, возвращающие важную
информацию о динамически распределяемой области памяти: MemAvail
и MaxAvail.
Функция MemAvail возвращает общее число байт, доступных для
распределения в динамической памяти. Перед выделением большого
объема в динамически распределяемой памяти полезно убедиться, что
такой объем памяти доступен.
Функция MaxAvail возвращает размер наибольшего доступного
блока непрерывной памяти в динамически распределяемой области.
Первоначально при запуске программы MaxAvail равно MemAvail, пос-
кольку вся динамически распределяемая область памяти является
доступной и непрерывной. После распределения нескольких блоков
памяти пространство в динамически распределяемой области скорее
всего станет фрагментированным. Это означает, что между частями
свободного пространства имеются распределенные блоки. Функция
MaxAvail возвращает размер наибольшего свободного блока.
Подробнее о том, как Borland Pascal работает с динамически
распределяемой областью памяти, рассказывается Главе 21 ("Вопросы
использования памяти") "Руководства по языку".