brk(2) System Calls Manual brk(2) brk, sbrk - LIBRARY Standard C library (libc, -lc) #include int brk(void *addr); void *sbrk(intptr_t increment); glibc (. feature_test_macros(7)): brk(), sbrk(): Since glibc 2.19: _DEFAULT_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) From glibc 2.12 to glibc 2.19: _BSD_SOURCE || _SVID_SOURCE || ((_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)) Before glibc 2.12: _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 brk() sbrk() (program break), (.., -- ). ; . brk() , addr, , (. setrlimit(2)). sbrk() increment . sbrk() increment 0 . brk() . -1, errno ENOMEM. sbrk() . , . (void *) -1, errno ENOMEM. None. 4.3BSD; SUSv1, SUSv2, POSIX.1-2001. brk() sbrk(): malloc(3) . sbrk(). int, ssize_t, ptrdiff_t, intptr_t. C brk() , , glibc Linux brk(). brk() ; SUSv2. , Linux . . glibc (. ., addr), 0 -1, . Linux, sbrk() , brk() . . execve(2), getrlimit(2), end(3), malloc(3) Artyom Kunyov , Azamat Hackimov , Dmitriy Ovchinnikov , Dmitry Bolkhovskikh , ITriskTI , Yuri Kozlov ; GNU 3 , . . , , . Linux man-pages 6.06 31 2023 . brk(2)