Limited space? How to expand?

Тема в разделе "WASM.BEGINNERS", создана пользователем Quick_Shifter, 5 фев 2008.

  1. Quick_Shifter

    Quick_Shifter New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2008
    Сообщения:
    5
    I try to locate memory for a very big array, using VirtualAlloc. After some big number of elements it just gives NULL and does not allocate. So is it problem of windows, compilator ar something else?

    The question is : is it possilbe to make almost unlimited memmory allocation, or expand it? And how? I am using code gear c++builder 2006.

    I tryed to count how much does it gives. So it does not what to allocate even 512 MB. My computer has 2GB of RAM. Where is the problem?

    Thank you. And sorry for english.
     
  2. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Quick_Shifter
    Могу себе представить: для каждого элемента массива выделяется отдельная страница (да и массивом это тогда не назовешь).
    Если так, то либо используйте кучу (HeapCreate) и выделяйте элементы из кучи (HeapAlloc), либо рациональнее используйте память, которую выделяете с помощью VirtualAlloc.
    А если не так, то кто-нибудь другой ответит :) (ИМХО тогда системе лучше знать, когда у нее память закончилась).