Учись программированию на C++ Builder бесплатно!

Функция


Просматривает и проверяет память.

Синтаксис


#include<alloc.h>
int heapcheck(void);

Прототип


alloc.h

Описание


Функция heapcheck проходит по памяти и проверяет все блоки, проверяя указатели, размер и другие важные параметры. В больших моделях памяти heapcheck совпадает с farheapcheck.

Возвращаемое значение


При ошибке возвращается значение < 0, при успешном завершение возвращается значение > 0.
Если нет памяти, то возвращается значение _HEAPEMPTY (1).
Если память проверена,то возвращается_HEAPOK (2).
Если память запорчена, то возвращается _HEAPCORRUPT(-1).

Переносимость


Функция heapcheck уникальна для DOS. Функция не совместима с Windows.

Пример


#include<stdio.h>
#include<alloc.h>

#define NUM_PTRS 10
#define NUM_BYTES 16

int main(void)
{
char *array[NUM_PTRS];
int i;
for(i=0; i<NUM_PTRS; i++)
array[i] = malloc(NUM_BYTES);
for(i=0; i<NUM_PTRS; i+=2)
free(array[i]);
if(heapcheck() == _HEAPCORRUPT)
printf(" Память запорчена\n");
else
printf("Все нормально\n");
return 0;
}

Поиск по сайту