Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make a .NET application "large address aware"?

Assuming I have booted a 32-bit Windows Server with the /3GB switch, how can I make a .NET application use the additional address space?

like image 923
wildcard Avatar asked Aug 28 '09 11:08

wildcard


People also ask

How do I make a large address aware EXE?

To make your application large address aware you should open the properties for your project and navigate to the “Linker -> System” page. On this page you should set the “Enable large addresses” property to “Yes (/LARGEADDRESSAWARE)”.


2 Answers

The flag is part of the image header, so you need to modify that using editbin.

editbin /LARGEADDRESSAWARE <your exe> 

Use dumpbin /headers and look for the presence of Application can handle large (>2GB) addresses to see if the flag is set or not.

like image 101
Brian Rasmussen Avatar answered Sep 21 '22 00:09

Brian Rasmussen


From what I can tell you have to use the editbin utility shown in the existing answer. There does not appear to be any way to set the flag using Visual Studio .NET, it looks like they encourage people to compile for 64 bit if possible instead of using the flag

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=93771

like image 33
WildCrustacean Avatar answered Sep 22 '22 00:09

WildCrustacean