32 bit applications under Windows only get 2GB of addressable memory by default.

If an application states that it is LARGEADDRESSAWARE then it can potentially access 3GB on 32 bit operating systems and 4GB on 64 bit operating systems.

Using PE Explorer I can set the LARGEADDRESSAWARE bit on the executable so would like to experiment with this to see if it helps solve some of our memory allocation issues.

What I would like to know is if anybody has tried using this before? I was also wondering if the Xojo guys knew if the framework does anything that would definitely cause problems.


This would be interesting to know if that works.

On Mac we do that already (use 3.5 GB of memory)

It can
It does

Does linker set the flag?
Or could it be set in future?

The compiler does not set it but it can be set after you create an exe

From msdn, it is a linker option. But apparently, the OP does it on the executable with PE Explorer. It will be nice if he can share his method.

I made feature request: 37766

Would be nice if Xojo could set the flag for us in linker.

This flag is already set for Xojo executables

It is the option “The application can handle addresses larger than 2 GB”. Link to the product page option:

I think you can also do it with the editbin Visual Studio tool.

I have read that 64 bit applications set this as part of the linking process.

I have set it on my application and it does launch. However, I have not been able to run any real stress tests to see if it breaks the framework or any of the plug-ins I use.

Good to know. I am looking at enabling this for an old RB application which we haven’t managed to upgrade to Xojo yet.

Do you remember when this change was made?

64bit apps always have more than 3 GB, so the flag should be meaningless for them.

I can tell you the exact date this change was made, October 31, 2011, but not the exact version… although probably safe to say 2012r1 at least.

in a little test app, I got 3325 MB on Mac, 1931 MB on Windows and 3027 MB on Linux.

wow, and now 2956 MB on Windows.

Had to run “bcdedit /set IncreaseUserVa 3072” on the admin command prompt. Thanks!