Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to get a 32-bit app to be able to use more than 2GB on my 64-bit edition of Windows 7 Ultimate. Currently, it crashes when it hits 2GB. I've heard there're ways to move this up to 3GB in 32-bit editions of Windows XP, Vista, and 7. Setting increaseuserva doesn't seem to work. (I have 4GB installed. If you're wondering, it's Dwarf Fortress.)

share|improve this question
up vote 3 down vote accepted

According to this MSDN page the maximum address space for a 32-bit process is 4Gb on 64bit Windows 7. But, this requires the process to have the IMAGE_FILE_LARGE_ADDRESS_AWARE flag set.

Setting IMAGE_FILE_LARGE_ADDRESS_AWARE is more of a problem, as it has to be done at the linking stage when compiling the software. See another MSDN page for a bit more info.

You might also wish to see this StackOverflow question, and maybe this one as well, which provide some general info.

share|improve this answer
1  
The LAA flag can be set on an exe after the link. However if the exe assumes that user mode addresses will never be larger than 0x7FFFFFFF it will crash. – Jamie Hanrahan Sep 4 '15 at 21:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .