CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
farheapcheckfree
farheapcheckfree
Функция Проверяет свободные блоки в глобальной динамической области памяти на констнтное значение. Синтаксис #include<alloc.h> int farheapcheckfree(unsigned int fillvalue); Файл, содержащий alloc.h прототип Описание ???????????????? Возвращемое При ошибке возращется значение < 0, при успешном значение завершение возвращается значение > 0. Если нет глобальной динамической области памяти, то возвращается значение _HEAPEMPTY (1). Если глобальный heap проверен, то возвращается _HEAPOK (2). Если память запорчена, то возвращается _HEAPCORRUPT(-1). Если зачение заполнения отличается от fillvalue, то возвращается _BADVALUE (-3). Переносимость farheapcheckfree уникальна для DOS. Функция не совместима с Windows. Смотрите также farheapfillfree, heapcheckfree. Пример: #include<mem.h> #include<stdio.h> #include<alloc.h> #define NUM_PTRS 10 #define NUM_BYTES 16 int main(void) { char far *array[NUM_PTRS]; int i; int j; int res; for(i=0; i<NUM_PTRS; i++) if((array[i] = farmalloc(NUM_BYTES))==NULL) { printf("Не хватает памяти\n"); return 1; } for(i=0; i<NUM_PTRS; i+=2) farfree(array[i]); if(farheapfillfree(1) < 0) { printf(" Память запорчена\n"); return 1; } for(i=0; i<NUM_PTRS; i+=2) for(j=0; j<NUM_BYTES; j++) array[i][j]=0; res = farheapcheckfree(1); if(res<0) switch(res) { case _HEAPCORRUPT: printf(" Память запорчена\n"); return 1; case _BADVALUE: printf("Неверное содержимое пустой памяти \n"); return 1; default: printf(" Нераспознаваемая ошибка\n"); return 1; } printf("Все нормально\n"); return 0; }