malloc (0) 에 의해서 memory가 alloc 되나요?

deadlive의 이미지

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 한 것과 동일하네요 -.-;;

pynoos의 이미지

정해져있지 않고, 구현에 따라 다릅니다.

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

Quote:
The malloc() function shall allocate unused space for an object whose
size in bytes is specified by size and whose value is unspecified.

The order and contiguity of storage allocated by successive calls to
malloc() is unspecified. The pointer returned if the allocation suc-
ceeds shall be suitably aligned so that it may be assigned to a pointer
to any type of object and then used to access such an object in the
space allocated (until the space is explicitly freed or reallocated).
Each such allocation shall yield a pointer to an object disjoint from
any other object. The pointer returned points to the start (lowest byte
address) of the allocated space. If the space cannot be allocated, a
null pointer shall be returned. If the size of the space requested is
0, the behavior is implementation-defined: the value returned shall be
either a null pointer or a unique pointer.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.