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

Тема в разделе "LANGS.C", создана пользователем vdk, 10 июл 2007.

  1. vdk

    vdk New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    интересно где сама функция malloc берет память
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    malloc.c
    В винде у виндовой кучи.
     
  3. vdk

    vdk New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    а как эта память попадает в пространство процесса?
     
  4. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    При загрузке образа.
    Код (Text):
    1. IMAGE_OPTIONAL_HEADER->SizeOfHeapReserve
    2. IMAGE_OPTIONAL_HEADER->SizeOfHeapCommit
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    HeapCreate->RtlCreateHeap->NtAllocateVirtualMemory
     
  6. vdk

    vdk New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    в общих чертах понятно.
    спасибо.
     
  7. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    Код (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. }