brk

Autres langues

Langue: de

Version: 4. Juni 1996 (openSuse - 09/10/07)

Section: 2 (Appels système)

BEZEICHNUNG

brk, sbrk - ändere Datensegmentgröße

ÜBERSICHT

#include <unistd.h>

int brk(void *end_data_segment);
void *sbrk(ptrdiff_tincrement);

BESCHREIBUNG

brk setzt das Ende des Datensegments auf den Wert, der durch end_data_segment angegeben ist. end_datasegment muss größer als das Ende des Textsegmentes sein und muss 16kB vor dem Ende des Stacks sein.

sbrk erhöht den Datenbereich des Programms um increment byte. sbrk ist kein Systemaufruf, sondern nur ein C-Library wrapper.

RÜCKGABEWERT

BEi Erfolg gibt brk Null zurück und sbrk einen Pointer auf den Start des neuen Bereiches. Im Fehlerfall wird -1 zurückgegeben und errno auf ENOMEM gesetzt.

KONFORM ZU

BSD 4.3

brk und sbrk sind nicht im C Standard definiert und sind absichtlich ausgeschlossen vom POSIX.1 Standard (siehe Paragraphen B.1.1.1.3 und B.8.3.3).

SIEHE AUCH

execve(2), getrlimit(2), malloc(3), end(3).