Работа с динамической памятью и указателями в системе Turbo Pascal. Мирецкий И.Ю - 12 стр.

UptoLike

Составители: 

Пример функции обработки ошибок.
function HeapFunc(Size: Word): Integer; far;
begin
HeapFunc := 1;
end;
Когда эта функция установлена, New и GetMem будут возвращать nil при невозможности распре-
делить память, не приводя к аварийному завершению программы.
12. Процедуры и функции
для работы с указателями и адресами
Процедура Dispose. Уничтожает динамическую переменную и возвращает в кучу фрагмент памя-
ти, который ранее был зарезервирован за
типизированным указателем (TP). Обращение:
Dispose(TP)
Процедура FreeMem. Уничтожает динамическую переменную данного размера (Size) и возвращает
в кучу фрагмент памяти, который ранее был зарезервирован за нетипизированным указателем (P). Об-
ращение:
FreeMem(P, Size)
Процедура GetMem. Создает новую динамическую переменную заданного размера и устанавливает
переменную-указатель для нее. Обращение:
GetMem(P, Size)
Процедура Mark. Запоминает текущее состояние указателя кучи (HeapPTR) в переменной-указателе
(PTR).
Используется совместно с процедурой Release для освобождения части кучи. Обращение:
Mark(PTR)
Процедура New. Создает новую динамическую переменную и устанавливает на нее переменную-
указатель. Обращение:
New(TP)
Процедура Release. Обращение:
Release(PTR)
Освобождает участок кучи от адреса, записанного в PTR (процедурой Mark), до конца кучи.
Функция MaxAvail. Возвращает размер наибольшего непрерывного свободного блока кучи, соот-
ветствующей размеру наибольшей динамической переменной
, которая может быть распределена в момент
Вызова MaxAvail. Тип результата - Longint. Обращение:
MaxAvail
Функция MemAvail. Возвращает количество имеющихся в куче свободных байт. Тип результата -
Longint. Обращение:
MemAvail
Функция Addr. Возвращает адрес заданного объекта V (имя любой переменной, процедуры, функ-
ции). Обращение:
       Пример функции обработки ошибок.

       function HeapFunc(Size: Word): Integer; far;
       begin
            HeapFunc := 1;
       end;

       Когда эта функция установлена, New и GetMem будут возвращать nil при невозможности распре-
делить память, не приводя к аварийному завершению программы.

                                      12. Процедуры и функции
                                для работы с указателями и адресами
        Процедура Dispose. Уничтожает динамическую переменную и возвращает в кучу фрагмент памя-
ти, который ранее был зарезервирован за типизированным указателем (TP). Обращение:

                                                Dispose(TP)

       Процедура FreeMem. Уничтожает динамическую переменную данного размера (Size) и возвращает
в кучу фрагмент памяти, который ранее был зарезервирован за нетипизированным указателем (P). Об-
ращение:
                                        FreeMem(P, Size)

       Процедура GetMem. Создает новую динамическую переменную заданного размера и устанавливает
переменную-указатель для нее. Обращение:

                                              GetMem(P, Size)

        Процедура Mark. Запоминает текущее состояние указателя кучи (HeapPTR) в переменной-указателе
(PTR). Используется совместно с процедурой Release для освобождения части кучи. Обращение:

                                                 Mark(PTR)

        Процедура New. Создает новую динамическую переменную и устанавливает на нее переменную-
указатель. Обращение:

                                                  New(TP)

       Процедура Release. Обращение:

                                               Release(PTR)
Освобождает участок кучи от адреса, записанного в PTR (процедурой Mark), до конца кучи.


        Функция MaxAvail. Возвращает размер наибольшего непрерывного свободного блока кучи, соот-
ветствующей размеру наибольшей динамической переменной, которая может быть распределена в момент
Вызова MaxAvail. Тип результата - Longint. Обращение:

                                                 MaxAvail

         Функция MemAvail. Возвращает количество имеющихся в куче свободных байт. Тип результата -
Longint. Обращение:

                                                 MemAvail

        Функция Addr. Возвращает адрес заданного объекта V (имя любой переменной, процедуры, функ-
ции). Обращение: