Russian Belarusian English German Japanese Ukrainian

Sbrk

CuBook05

Функция

Изменяет размещение сегмента данных в памяти.
 
Синтаксис

#include<alloc.h>
char *sbrk(int incr);
 
Прототип

alloc.h
 
Описание

Функция sbrk добавляет к завершающему значению incr байт, и соответственно выделяет память. Функция incr может быть и отрицательным, в этом случае объем выделенной памяти уменьшается. В случае если для выделения памяти недостаточно свободного места, sbrk завершается по ошибке и не производит никаких действий.
 
Возвращаемое значение

При успешном завершении sbrk возвращает старое значение. При ошибке, sbrk возвращает -1 и глобальной переменной errno присваивает значение:
ENOMEM - Недостаточно памяти.
 
Переносимость

Функция sbrk доступна в системах UNIX. Функция не совместима с Windows.
 
Пример

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

int main(void)
{
printf("Изменение выделенного объема памяти с помощью sbrk\n");
printf("Перед вызовом sbrk свободны %lu байт.\n",
(unsigned long)coreleft());
sbrk(1000);
printf("После вызова sbrk свободны %lu байт.\n",
(unsigned long)coreleft());
return 0;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

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


Защитный код Обновить