BRK(2)

이름
brk, sbrk - 데이터 세그먼트 크기를 변경한다.

사용법
#include <unistd.h>

int brk(void *end_data_segment);

void *sbrk(ptrdiff_t increment);

설명
brk은 데이터 세그먼트의 끝을 end_data_segment으로 지정된 값으로 설정한다. end_datasegment는 텍스트 세그먼트의 끝보다 커야 하며 스택의 끝보다 16kB 앞에 있어야 한다. sbrk는 increment 바이트만큼 프로그램의 데이터 공간을 증가시킨다. sbrk는 시스템 콜이 아니며, 단지 C 라이브러리 레퍼(wrapper) 함수이다.

반환값
성공시, brk는 0을 리턴하며, sbrk는 새로운 영역의 시작을 가리키는 포인터를 리턴한다. 에러시, -1이 리턴되며, errno는 ENOMEM 으로 설정된다.

호환
BSD 4.3 brk와 sbrk는 C 표준에 정의되어 있지 않으며 POSIX.1 표준에서도 제외되었다. (paragraphs B.1.1.1.3과 B.8.3.3 참조하라)

관련 항목
execve(2), getrlimit(2), malloc(3)

역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 1일