data.d

Rainer Schuetze r.sagitario at gmx.de
Thu Jul 15 23:19:09 PDT 2010



Vladimir Panteleev wrote:
> On Fri, 16 Jul 2010 01:20:07 +0300, Rainer Schuetze <r.sagitario at gmx.de> 
> wrote:
> 
>> There is only 2GB virtual memory available (3GB with some tweaks)
> 
> The allocation granularity doesn't affect virtual memory either (at 
> least according to all Process Explorer indications).

But the alignment requirements disallow allocating memory that fills the 
wasted address space. I guess even HeapAllocate will use VirtualAlloc as 
its back end.

> 
> Does this 2 or 3GB limitation only affect 32-bit operating systems? On 
> my 64-bit Windows, with /LARGEADDRESSAWARE, a simple program can do 
> close to 64K (65062 for me) 1-byte VirtualAllocs.
> 

Normal 32-bit processes have 2 GB address space. Processes with 
/LARGEADDRESSAWARE set in the executable get 3GB on 32-bit OS (XP needs 
to boot with the /3GB option), and almost 4GB on 64-bit OS.


More information about the Digitalmars-d-announce mailing list