CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
sbrk
SBRK
#include <malloc.h> требуется только для объявления
функции
char *sbrk(incr);
int incr; количество добавляемых или
вычитаемых байтов
Описание.
Функция sbrk переустанавливает значение разрыва для вызван-
ного процесса. Значением разрыва является адрес первого байта
захваченной памяти. Функция sbrk добавляет incr байты к значению
разрыва; соответственно этому устанавливается размер захватывае-
мой памяти.
Замечание. Incr может быть отрицательным, тогда количество
захваченной памяти уменьшается на incr байтов.
Возвращаемое значение.
Функция sbrk возвращает старое значение разрыва. Возвращае-
мое значение -1 указывает на ошибку и errno устанавливается в
ENOMEN, указывая, что осталось недостаточно памяти.
См.также calloc, free, malloc, realloc.
Замечание. В компактной, большой и huge-моделях программ
функция sbrk отсутствует и возвращает значение -1. В больших мо-
делях программ для захвата используется функция malloc.
Пример:
#include <malloc.h>
#include <stdio.h>
/* захватывает память в 100 байт */
char *alloc;
alloc=sbrk(100);
.
.
.
/* уменьшает захваченную память до 60 байт */
if (alloc != (char)-1)
sbrk(-40);
