Russian Belarusian English German Japanese Ukrainian

Функция


Заполняет свободные блоки глобальной динамической области памяти константным значением.

Синтаксис


#include<alloc.h>
int farheapfillfree(unsigned int fillvalue);

Прототип


alloc.h

Описание


Функция farheapfillfree() заполняет свободные блоки памяти в куче значением fill. Функция farheapfillfree() работает с дальней кучей. Можно использовать функцию для того, чтобы придать выделяемой памяти известное начальное значение.

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


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

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


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

Пример


#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,j;
int res;
for(i=0; i<NUM_PTRS; i++)
(array[i] = farmalloc(NUM_BYTES);
for(i=0; i<NUM_PTRS; i++2)
farfree(array[i]);
if(heapfillfree(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;
}

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


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