Функция Освобождает блок, размещенный в глобальном heap'e.
Синтаксис #include
void farfree(void far * block);
Файл, содержащий alloc.h
прототип
Описание Функция farfree освобождает предварительно выделен-
ный в глобальном heap'e блок.
В модели памяти tiny эту функцию использовать
нельзя.
В моделях памяти small и medium блоки, выделенные
farmalloc, нельзя освободить функцией free и нао-
борот, т.к. в этих моделях глобальная и локальная
области памяти различаются.
Возвращаемое Нет.
значение
Переносимость farfree уникальна для DOS.
Смотрите также farcallocfarmalloc
Пример:
#include
#include
#include
#include
int main(void)
{
char far *fptr;
char *str = "Hello";
/* выделить память */
fptr = farcalloc(10,sizeof(char));
if(fptr)
{
/* скопировать строку "Hello" в выделенный блок памяти. */
/* Замечание. Используется функция movedata, поскольку вы
можете работать в малой (small) модели памяти,
в которой нельзя использовать функции копирова-
ния строки, которые подразумевают, что пара-
метры имеют тип near */
movedata(FP_SEG(str),FP_OFF(str),FP_SEG(fptr),FP_OFF(fptr),
strlen(str));
/* вывести строку. Обратите внимание на модификатор F*/
printf(" Строка с указателем far: %Fs\n",fptr);
/* освободить память */
farfree(fptr);
}
return 0;
}