C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Дебетовая карта Home Credit [CPS] RU

 brk / b / Библиотечн. функции Borland C++

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;
}




Дебетовая карта Home Credit [CPS] RU