Farheapw
farheapwalk
Функция Используется для перемещения по глобальному heap от узла к узлу.
Синтаксис #include
int farheapwalk(struct farheapinfo *hi);
Файл, содержащий alloc.h прототип
Описание farheapwalk подразумевает, что память не запорчена. Для проверки перед использованием farheapwalk, вы- зовите farheapcheck. При достижении последнего блока функция возвращает _HEAPOK. При следующем вызове farheapwalk, она вернет _HEAPEND.
farheapwalk получает указатель на структуру типа heapinfo (определена в файле alloc.h). При первом вызове farheapwalk установите поле hi.ptr в 0. farheapwalk вернет вам в этом поле адрес первого блока в heap памяти. Поле hi.size содержит размер этого блока в байтах. hi.in_use - это флаг, кото- рый устанавливается, если этот блок используется в настоящий момент.
Возвращемое Если нет глобального heap, то возвращается значе- значение ние _HEAPEMPTY (1). Если структура heapinfo содержит верные данные, то возвращается _HEAPOK (2). Если достигнут конец heap памяти, то возвращается _HEAPEND (5).
Переносимость farheapwalk уникальна для DOS.
Смотрите также
Пример:
#include
#include
#define NUM_PTRS 10 #define NUM_BYTES 16
int main(void) { struct farheapinfo hi; char far *array[NUM_PTRS]; int i; for(i=0; i