11.5. Процедуры управления кучей
Управление кучей осуществляет монитор кучи, являющийся частью системной библиотеки Турбо Паскаля. Он реализует следу-
- 200 -
ющие процедуры и функции (табл. 11.1), размещающие и удаляющие динамические переменные из кучи и анализирующие ее состояние.
Таблица 11.1
Процедуры и функции
Назначение
New (VAR P : Pointer)
Отводит место для хранения динамической переменной P^ и присваивает ее адрес ссылке P
Dispose (VAR P : Pointer)
Уничтожает связь, созданную ранее New, между ссылкой P и значением, на которое она ссылалась
GetMem (VAR P : Pointer; Size : Word)
Отводит место в Size байт в куче, присваивая адрес его начала указателю (ссылке) P
FreeMem (VAR P : Pointer; Size : Word)
Освобождает Size байт в куче, начиная с адреса, записанного в указателе (ссылке) P
Mark (VAR P : Pointer)
Запоминает в указателе P текущее состояние кучи
Release (VAR P : Pointer)
Возвращает кучу в состояние, запомненное ранее в P вызовом процедуры Mark(P)
New (ТипСсылки) : Pointer
Альтернативная форма создания динамической переменной P^ типа заданного базового типа
MaxAvail : LongInt
Возвращает длину (в байтах) самого длинного свободного участка памяти в куче
MemAvail : LongInt
Возвращает сумму длин всех свободных участков памяти (в байтах)
Размещение динамических переменных.