It is a well known problem ( or limitation ) that a 32-bit application on some 32-bit Windows platforms can not allocate more than 2GB of memory.
However, some 32-bit Windows platforms, for example Windows XP Professional or Windows Server 2003, support Address Windowing Extensions ( AWE ) technology ( designed by Microsoft ) and a 32-bit application could allocate more than 2GB of memory.
Please take into account that Intel CPUs should have support for a Physical Address Extensions ( PAE ) feature.
Enclosed is a very simple test-case in 'AweTestAppV1.zip' ( Visual Studio 2005 and up ) that tries to allocate different amounts of memory and allows to verify if a 32-bit application could allocate more than 2GB of memory on Windows platforms that support AWE.
- An Intel CPU PAE feature is supported even on Intel Pentium(R) 4 CPU
- A 32-bit Windows platform must support AWE ( for example, Windows XP Home doesn't support AWE )
- Please take a look at a small Readme.txt file for some technical details
- For more information about AWE technology visit: http://msdn.microsoft.com/en-us/library/windows/hardware/gg487508.aspx