이 름
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 [AT] soback.net>, 2000년 5월 1일