.\" -*- 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 grudnia 2022 r." "Linux man\-pages 6.03" .SH NAZWA brk, sbrk \- zmienia wielkość segmentu danych .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .PP \fBint brk(void *\fP\fIaddr\fP\fB);\fP \fBvoid *sbrk(intptr_t \fP\fIincrement\fP\fB);\fP .fi .PP .RS -4 Wymagane ustawienia makr biblioteki glibc (patrz \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 Od glibc 2.19: _DEFAULT_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) glibc 2.12 do glibc 2.19: _BSD_SOURCE || _SVID_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) Przed glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 .fi .SH OPIS \fBbrk\fP() i \fBsbrk\fP() zmieniają położenie \fIpunktu zakończenia programu\fP, definiującego koniec segmentu danych procesu (tzn. punkt zakończenie programu jest pierwszym położeniem po końcu niezainicjowanego segmentu danych). Zwiększenie punktu zakończenia programu w efekcie zwiększa przydzieloną procesowi pamięć; zmniejszenie \- cofa przydzielenie pamięci. .PP \fBbrk\fP() ustawia koniec segmentu danych na wartość podaną jako argument \fIaddr\fP, o ile wartość ta jest sensowna, system posiada dostateczną ilość pamięci oraz nie zostanie przekroczona maksymalna wielkość segmentu danych dla procesu (zobacz \fBsetrlimit\fP(2)). .PP \fBsbrk\fP() zwiększa przestrzeń danych programu o wartość \fIincrement\fP bajtów. Wywołanie \fBsbrk\fP() z \fIincrement\fP równym 0 może służyć do znalezienia aktualnej lokalizacji punktu zakończenia programu. .SH "WARTOŚĆ ZWRACANA" Po pomyślnym zakończeniu \fBbrk\fP() zwraca zero. Po błędzie zwracane jest \-1, a \fIerrno\fP ustawiane jest na \fBENOMEM\fP. .PP Po pomyślnym zakończeniu, \fBsbrk\fP() zwraca poprzedni punkt zakończenia programu (jeśli go zwiększono, to wartość ta wskazuje na początek nowo przydzielonej pamięci). W przypadku błędu zwracane jest \fI(void\ *)\ \-1\fP a \fIerrno\fP nadawana jest wartość \fBENOMEM\fP. .SH STANDARDY .\" .\" .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, oznaczone jako LEGACY (przestarzałe) w SUSv2, usunięte w POSIX.1\-2001. .SH UWAGI Nie zaleca się używania \fBbrk\fP() i \fBsbrk\fP(): przenośnym i wygodnym sposobem przydzielania pamięci jest pakiet \fBmalloc\fP(3). .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). Różne systemy używają różnych typów argumentu \fBsbrk\fP(). Powszechne są: \fIint\fP, \fIssize_t\fP, \fIptrdiff_t\fP, \fIintptr_t\fP. .SS "Różnice biblioteki C/jądra" Zwracana wartość opisana powyżej dla \fBbrk\fP() jest zachowaniem udostępnianym przez funkcję opakowującą z glibc dla wywołania systemowego \fBbrk\fP() Linuksa (w większości innych implementacji, zwracana wartość \fBbrk\fP() jest taka sama; takąż określono również w SUSv2). Jednak rzeczywiste linuksowe wywołanie systemowe zwraca przy pomyślnym zakończeniu nowy punkt zakończenia programu. W przypadku błędu, wywołanie systemowe zwraca bieżący punkt zakończenia. Funkcja opakowująca z glibc czyni pewne starania (tj. sprawdza, czy nowy punkt zakończenia wynosi mniej niż \fIaddr\fP), aby udostępnić opisane wyżej zwracane wartości 0 i \-1. .PP W Linuksie, \fBsbrk\fP() zaimplementowano jako funkcję biblioteczną korzystającą z wywołania systemowego \fBbrk\fP(), która dokonuje pewnego wewnętrznego księgowania, dzięki czemu może zwrócić wartość starego punktu zakończenia programu. .SH "ZOBACZ TAKŻE" \fBexecve\fP(2), \fBgetrlimit\fP(2), \fBend\fP(3), \fBmalloc\fP(3) .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys , Andrzej Krzysztofowicz i Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .