Описание функций Си

_Heaplen



     _heaplen

Функция Содержит длину локального heap.

Синтаксис extern unsigned _heaplen;

Объявлено в dos.h

Описание _heaplen определяет размер локального heap в ма- лых моделях данных (tiny, small, mediuim). _heaplen не существует в больших моделях данных (compact, large, huge), т.к. они не имеют локаль- ного heap.

В моделях small и medium размер сегмента данных вычисляется следующим образом:

data segment [small,medium] = global data + heap + stack

где размер стека может быть получен по _stklen. Если _heaplen установлен в 0, то программа выде- ляет 64Кбайт для сегмента данных, и действитель- ный размер heap равен:

64К - (global data + stack) байт

По умолчанию _heaplen равен 0, так что вам выде- ляется сегмент данных 64К, пока вы не укажете другое значение _heaplen. В модели tiny все (включая код) находится в одном сегменте, поэтому в сегмент данных включается код и 256 байт для PSP.

data segment [tiny] = 256 + code + global data + heap + stack

Если _heaplen равен 0 в модели tiny, то действи- тельный размер heap получается вычитанием PSP, кода, глобальных данных и стека из 64К.

В моделях compact и large не существует локально- го heap, поэтому сегмент данных равен

data segment [compact,large] = global data + stack В модели huge стек является отдельным сегментом, а каждый модуль имеет собственный сегмент данных.

Смотрите также _



Содержание раздела