MALLOC.3
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:3k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. MALLOC(3)                 Minix Programmer's Manual                  MALLOC(3)
  2. NAME
  3.      malloc, free, realloc, calloc, alloca - memory allocator
  4. SYNOPSIS
  5.      #include <sys/types.h>
  6.      #include <stdlib.h>
  7.      #include <alloca.h>
  8.      void *malloc(size_t size)
  9.      void free(void *ptr)
  10.      void *realloc(void *ptr, size_t size)
  11.      void *calloc(size_t nelem, size_t elsize)
  12.      void *alloca(size_t size)
  13. DESCRIPTION
  14.      Malloc and free provide  a  general-purpose  memory  allocation  package.
  15.      Malloc returns a pointer to a block of at least size bytes beginning on a
  16.      word boundary.
  17.      The argument to free is a pointer to  a  block  previously  allocated  by
  18.      malloc;  this  space  is  made  available for further allocation, but its
  19.      contents are left undisturbed.  A call with a null ptr is legal and  does
  20.      nothing.
  21.      Needless to say, grave disorder will result  if  the  space  assigned  by
  22.      malloc is overrun or if some random number is handed to free.
  23.      Malloc maintains  multiple  lists  of  free  blocks  according  to  size,
  24.      allocating  space  from the appropriate list.  It calls sbrk (see brk(2))
  25.      to get more memory from the  system  when  there  is  no  suitable  space
  26.      already free.
  27.      Realloc changes the size of the block pointed to by ptr to size bytes and
  28.      returns  a  pointer  to the (possibly moved) block.  The contents will be
  29.      unchanged up to the lesser of the new and old sizes.  A call with a  null
  30.      ptr is legal and has the same result as malloc(size).
  31.      Calloc allocates space for an array of nelem elements of size elsize. The
  32.      space is initialized to zeros.
  33.      Alloca allocates size bytes of space in the stack frame  of  the  caller.
  34.      This temporary space is automatically freed on return.
  35.      Each of the allocation routines  returns  a  pointer  to  space  suitably
  36.      aligned  (after  possible  pointer  coercion)  for storage of any type of
  37.      object.
  38. 4BSD                              May 14, 1986                               1
  39. MALLOC(3)                 Minix Programmer's Manual                  MALLOC(3)
  40. SEE ALSO
  41.      brk(2).
  42. DIAGNOSTICS
  43.      Malloc, realloc and calloc return a null pointer if there is no available
  44.      memory  or  if the arena has been detectably corrupted by storing outside
  45.      the bounds of a block.
  46. NOTES
  47.      Other implementations of malloc, realloc or  calloc  may  return  a  null
  48.      pointer  if the size of the requested block is zero.  This implementation
  49.      will always return a zero length block  at  a  unique  address,  but  you
  50.      should  keep in mind that a null return is possible if the program is run
  51.      to another system and that this should  not  be  mistakenly  seen  as  an
  52.      error.
  53. BUGS
  54.      When realloc returns a null pointer, the block pointed to by ptr  may  be
  55.      destroyed.
  56.      Alloca is machine dependent; its use is discouraged.
  57. 4BSD                              May 14, 1986                               2