Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства является частью версии 5.0 Инструментов XCode

Получить эти инструменты:

Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.




BRK(2)                      BSD System Calls Manual                     BRK(2)

NAME
     brk, sbrk -- change data segment size

SYNOPSIS
     #include <unistd.h>

     void *
     brk(const void *addr);

     void *
     sbrk(int incr);

DESCRIPTION
     The brk and sbrk functions are historical curiosities left over from earlier days before the advent of
     virtual memory management.  The brk() function sets the break or lowest address of a process's data
     segment (uninitialized data) to addr (immediately above bss).  Data addressing is restricted between
     addr and the lowest stack pointer to the stack segment.  Memory is allocated by brk in page size
     pieces; if addr is not evenly divisible by the system page size, it is increased to the next page
     boundary.

     The current value of the program break is reliably returned by ``sbrk(0)'' (see also end(3)).  The
     getrlimit(2) system call may be used to determine the maximum permissible size of the data segment; it
     will not be possible to set the break beyond the rlim_max value returned from a call to getrlimit, e.g.
     ``qetext + rlp->rlim_max.'' (see end(3) for the definition of etext).

RETURN VALUES
     Brk returns a pointer to the new end of memory if successful; otherwise -1 with errno set to indicate
     why the allocation failed.  The sbrk function returns a pointer to the base of the new storage if suc-cessful; successful;
     cessful; otherwise -1 with errno set to indicate why the allocation failed.

ERRORS
     Sbrk will fail and no additional memory will be allocated if one of the following are true:

     [ENOMEM]           The limit, as set by setrlimit(2), was exceeded.

     [ENOMEM]           The maximum possible size of a data segment (compiled into the system) was exceeded.

     [ENOMEM]           Insufficient space existed in the swap area to support the expansion.

SEE ALSO
     execve(2), getrlimit(2), malloc(3), mmap(2), end(3)

BUGS
     Setting the break may fail due to a temporary lack of swap space.  It is not possible to distinguish
     this from a failure caused by exceeding the maximum size of the data segment without consulting
     getrlimit.

HISTORY
     A brk() function call appeared in Version 7 AT&T UNIX.

4th Berkeley Distribution      December 11, 1993     4th Berkeley Distribution

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.