std library와 libmalloc library의 calloc 차이점을 문의드립니
글쓴이: fatman / 작성시간: 금, 2004/02/06 - 7:54오전
Solaris(5.8, 5.9)에서 Calloc의 element 수가 0일 때 컴파일시 -lmalloc을 넣은 경우와 넣지 않았을 때 return되는 pointer가 다른 이유를 문의드립니다.
Man에서 확인해보면 일반적인 standard library(-lmalloc을 넣지 않는 경우)의 calloc은 element수가 0이면 특정 arena에 있는 pointer를 return한다고 되어 있지만(null pointer를 return하지는 않는 것 같습니다.), -lmalloc에서는 별도의 언급이 없습니다. 그리고, standard library의 malloc은 효율성과 속도면에서 중간정도이고, -lmalloc의 malloc은 효율성을 높인 memory allocator 정도라는 것만 확인하였습니다.
간단한 예제를 수행해보면 -lmalloc이 있으면 element 수가 0일 때 calloc의 return값은 null, -lmalloc이 없으면 return값에 값이 들어가고 있습니다. 원래 특성이 그래서 이런 결과가 나오는지, 아니면 다른 확인해야 할 점이 있는지 궁금합니다.
Forums:
댓글 달기