.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1993 Michael Haardt, (michael@moria.de) .\" and Copyright 2006, 2008, Michael Kerrisk .\" Fri Apr 2 11:32:09 MET DST 1993 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified Wed Jul 21 19:52:58 1993 by Rik Faith .\" Modified Sun Aug 21 17:40:38 1994 by Rik Faith .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH brk 2 "4. Dezember 2022" "Linux man\-pages 6.03" .SH BEZEICHNUNG brk, sbrk \- Datensegmentgröße ändern .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint brk(void *\fP\fIAdresse\fP\fB);\fP \fBvoid *sbrk(intptr_t \fP\fIErhöhung\fP\fB);\fP .fi .PP .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .PP \fBbrk\fP(), \fBsbrk\fP(): .nf .\" (_XOPEN_SOURCE >= 500 || .\" _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) && .\" (_XOPEN_SOURCE >= 500 || .\" _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) && .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED Seit Glibc 2.19: _DEFAULT_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) Von Glibc 2.12 bis 2.19: _BSD_SOURCE || _SVID_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) Vor Glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 .fi .SH BESCHREIBUNG \fBbrk\fP() und \fBsbrk\fP() ändern den Ort des \fIprogram break\fP, der das Ende des Datensegments des Prozesses definiert (d.h. der Program\-Break ist der erste Ort nach dem Ende des nicht initialisierten Datensegments). Den Program\-Break zu vergrößern hat die Auswirkung, dass für den Prozess Speicher reserviert wird; den Break zu verkleinern gibt reservierten Speicher frei. .PP \fBbrk\fP setzt das Ende des Datensegments auf den Wert, der durch \fIAdresse\fP angegeben ist. Wenn dieser Wert vernünftig ist, hat das System genug Speicher und der Prozess überschreitet nicht seine maximale Datengröße (siehe \fBsetrlimit\fP(2)). .PP \fBsbrk\fP vergrößert den Datenbereich des Programms um \fIErhöhung\fP Byte. Der Aufruf von \fBsbrk\fP mit einer \fIErhöhung\fP von 0 kann zum Auffinden des aktuellen Ortes des Programm\-Breaks benutzt werden. .SH RÜCKGABEWERT Bei Erfolg gibt \fBbrk\fP Null zurück. Im Fehlerfall wird \-1 zurückgegeben und \fIerrno\fP auf \fBENOMEM\fP gesetzt. .PP Bei Erfolg gibt \fBsbrk\fP den vorherigen Program\-Break zurück. (Falls der Break erhöht wurde, ist dieser Wert ein Zeiger auf den Anfang des neu reservierten Speichers). Im Fehlerfall wird \fI(void\ *)\ \-1\fP zurückgegeben und \fIerrno\fP auf \fBENOMEM\fP gesetzt. .SH STANDARDS .\" .\" .BR brk () .\" and .\" .BR sbrk () .\" are not defined in the C Standard and are deliberately excluded from the .\" POSIX.1-1990 standard (see paragraphs B.1.1.1.3 and B.8.3.3). 4.3BSD; SUSv1, in SUSv2 als ALTLAST gekennzeichnet, in POSIX.1\-2001 entfernt .SH ANMERKUNGEN Vermeiden Sie die Benutzung von \fBbrk\fP() und \fBsbrk\fP(): Das Speicherreservierungspaket \fBmalloc\fP(3) ist portabel und stellt eine komfortable Möglichkeit der Speicherreservierung bereit. .PP .\" One sees .\" \fIint\fP (e.g., XPGv4, DU 4.0, HP-UX 11, FreeBSD 4.0, OpenBSD 3.2), .\" \fIssize_t\fP (OSF1 2.0, Irix 5.3, 6.5), .\" \fIptrdiff_t\fP (libc4, libc5, ulibc, glibc 2.0, 2.1), .\" \fIintptr_t\fP (e.g., XPGv5, AIX, SunOS 5.8, 5.9, FreeBSD 4.7, NetBSD 1.6, .\" Tru64 5.1, glibc2.2). Verschiedene Systeme benutzen verschieden Typen für das Argument von \fBsbrk\fP(). Üblich sind \fIint\fP, \fIssize_t\fP, \fIptrdiff_t\fP und \fIintptr_t\fP. .SS "Unterschiede C\-Bibliothek/Kernel" Der oben beschriebene Rückgabewert für \fBbrk\fP() stellt das durch die Glibc\-Wrapper\-Funktion bereitgestellte Verhalten für den Linux\-Systemaufruf \fBbrk\fP() bereit. (In den meisten anderen Implementierungen hat \fBbrk\fP() den gleichen Rückgabewert; dieser Rückgabewert wurde auch in SUSv2 angegeben.) Der tatsächliche Linux\-Systemaufruf gibt allerdings bei Erfolg den neuen Program\-Break zurück. Bei Misserfolg gibt der Systemaufruf den aktuellen Break zurück. Die Glibc\-Wrapper\-Funktion tut dasselbe (d.h. sie prüft, ob der neue Break kleiner als \fIAdresse\fP ist), um die Rückgabewerte 0 und \-1 wie oben beschrieben zurückzugeben. .PP Auf Linux ist \fBsbrk\fP() als Bibliotheksfunktion implementiert, die den Systemaufruf \fBbrk\fP() benutzt und ein wenig interne Buchführung erledigt, so dass sie den alten Break\-Wert zurückgeben kann. .SH "SIEHE AUCH" \fBexecve\fP(2), \fBgetrlimit\fP(2), \fBend\fP(3), \fBmalloc\fP(3) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Chris Leick und Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .