Farfree
farfree
Функция Освобождает блок, размещенный в глобальном heap'e.
Синтаксис #include
void farfree(void far * block);
Файл, содержащий alloc.h прототип
Описание Функция farfree освобождает предварительно выделен- ный в глобальном heap'e блок.
В модели памяти tiny эту функцию использовать нельзя.
В моделях памяти small и medium блоки, выделенные farmalloc, нельзя освободить функцией free и нао- борот, т.к. в этих моделях глобальная и локальная области памяти различаются.
Возвращаемое Нет. значение
Переносимость farfree уникальна для DOS.
Смотрите также
Пример:
#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; }