malloc (0) 에 의해서 memory가 alloc 되나요?
글쓴이: deadlive / 작성시간: 목, 2004/06/10 - 3:17오후
man page나 기타 싸이트를 참조했을 때에는
malloc(0)을 했을 때에는 NULL이 return 되고 memory가 안 잡히는 거 같았는데,
mallinfo로 확인해보니, (uordblks 값)
실제로는 malloc(1)과 같은 size가 잡히고(가장 작은 단위 chunk)
실제 pointer도 return 되고 있습니다.
이게 실제로 잡히는 값인가요? 아님 mallinfo 통계가 잘못되는건가요?
또한 이러한 현상이 지극히 정상적인건가요? 모 patch가 되었다거나 그럴 생각이 전혀 없는...
malloc(0) 후 free를 했을 때에는 정상적으로 free가 되고 있으며,
ptr = NULL;
ptr = realloc(ptr, 0); 했을 때에는 uordblks값이 malloc과 동일하나,
ptr = NULL;
ptr = realloc(ptr, 0);
ptr =realloc(ptr, 0); 했을 때에는 malloc(0) 후 free 한 것과 동일하네요 -.-;;
Forums:
정해져있지 않고, 구현에 따라 다릅니다.http://www.goo
정해져있지 않고, 구현에 따라 다릅니다.
http://www.google.co.kr/search?sourceid=navclient&hl=ko&ie=UTF-8&oe=UTF-8&q=malloc%280%29
http://users.bestweb.net/~ctips/tip028.html
---
http://coolengineer.com
댓글 달기