внутренности malloc

Discussion in 'LANGS.C' started by vdk, Jul 10, 2007.

  1. vdk

    vdk New Member

    Blog Posts:
    0
    Joined:
    Dec 18, 2003
    Messages:
    18
    интересно где сама функция malloc берет память
     
  2. IceStudent

    IceStudent Active Member

    Blog Posts:
    0
    Joined:
    Oct 2, 2003
    Messages:
    4,300
    Location:
    Ukraine
    malloc.c
    В винде у виндовой кучи.
     
  3. vdk

    vdk New Member

    Blog Posts:
    0
    Joined:
    Dec 18, 2003
    Messages:
    18
    а как эта память попадает в пространство процесса?
     
  4. nester7

    nester7 New Member

    Blog Posts:
    0
    Joined:
    Dec 5, 2003
    Messages:
    720
    Location:
    Russia
    При загрузке образа.
    Code (Text):
    1. IMAGE_OPTIONAL_HEADER->SizeOfHeapReserve
    2. IMAGE_OPTIONAL_HEADER->SizeOfHeapCommit
     
  5. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    HeapCreate->RtlCreateHeap->NtAllocateVirtualMemory
     
  6. vdk

    vdk New Member

    Blog Posts:
    0
    Joined:
    Dec 18, 2003
    Messages:
    18
    в общих чертах понятно.
    спасибо.
     
  7. EvilPhreak

    EvilPhreak New Member

    Blog Posts:
    0
    Joined:
    Dec 29, 2007
    Messages:
    154
    Code (Text):
    1. void * malloc(n)
    2. {
    3.     HANDLE h;
    4.     n = (n ? n : 1);/* if n == 0, n = 1 */
    5.     h = HeapAlloc(_crtheap,0,n);
    6.     return((void *)h);
    7. }