Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
реклама

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

brk

brk


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

Синтаксис          #include<alloc.h>
                   int brk(void * addr);

Файл, содержащий   alloc.h
прототип

Описание           Функция brk используется для динамического
                   изменения количества  памяти,  распределенного  для
                   сегмента   данных   вызываемой   программы.  Данное
                   изменение    производится    посредством     сброса
                   программного    "значения    прерывания",   которое
                   является  первым  адресом  после   конца   сегмента
                   данных. Таким образом, количество отведенной памяти
                   будет увеличено,  если  будет  увеличено  "значение
                   прерывания".

                   brk устанавливает       "значение       прерывания"
                   соответственно параметру addr и  аналогично  меняет
                   количество памяти.

                   Если для  удовлетворения запроса будет недостаточно
                   памяти,  функция завершится с ошибкой без изменения
                   распределения памяти.

Возвращаемое       При успешном завершении функция brk возвращает зна-
значение           чение, равное 0. При ошибке возвращается значение
                   -1 и   глобальной  переменной  errno  присваивается
                   значение:

                     ENOMEM - Не хватает памяти.

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

Смотрите также     coreleft, sbrk.

Пример:

#include<stdio.h>
#include<alloc.h>
                   
int main(void)
{
   char *ptr;
   printf("Изменение объема выделенной памяти с помощью brk");
   ptr = malloc(1);
   printf("Перед вызовом brk() свободно %lu байт\n",coreleft());
   brk(ptr+1000);
   printf("После вызова brk() свободно %lu байт\n",coreleft());
   return 0;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог