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