I am compiling an application with the /LARGEADRESSAWARE switch set, but when running and looking at the taskmanager, the application allocates max. ca. 2.5GB then it fails with memory allocation errors. Is this correct behaviour?
- 32 Bit Application (of course)
- 64 Bit OS / Win10
- Compiled Visual Studio Comunity 2017
- There is enough OS memory available (16GB)
In the taskmanager i should see the full 4GB. MSDN states "4 GB with IMAGE_FILE_LARGE_ADDRESS_AWARE set" for a 32 Bit process running under a 64 Bit OS here
This is the linker command line (with some paths stripped)
/OUT:"xxx.exe" /MANIFEST /LTCG /NXCOMPAT /PDB:"xxx.pdb" /DYNAMICBASE /LARGEADDRESSAWARE /DEBUG /MACHINE:X86 /SAFESEH:NO /PGD:"xxx.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"xxx.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"xxx" /TLBID:1