|
Quote: it's a signed integer
Unbelievable!
How do we preserve the wisdom men will need,
when their violent passions are spent?
- The Lost Horizon
|
|
|
|
|
It was 2GB (or 3) on 32bit OSes, because the rest is kernel space, nothing to do with signedness.
4GB on a 64bit OS.
Still 2GB if LARGE_ADDRESS_AWARE = 0. VS has it set to 1 as far as I can tell.
|
|
|
|
|
Quote: LARGE_ADDRESS_AWARE
Where is this setting, please? In the registry?
How do we preserve the wisdom men will need,
when their violent passions are spent?
- The Lost Horizon
|
|
|
|
|
It's part of the PE header, not a global thing.
|
|
|
|
|
It's done when the program is compiled into an executable. It can't be set afterwards.
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
You can use editbin /largeaddressaware deveenv.exe .
But at your own risk.
|
|
|
|
|
I tried this from an elevated command prompt, and it ran without error messages, but also no "success" messages. I assume the lack of error messages means it worked? VS still works just fine. Thanks for the tip.
How do we preserve the wisdom men will need,
when their violent passions are spent?
- The Lost Horizon
|
|
|
|
|
Google is your friend today.
Open the "Visual Studio Command Prompt (2010)" console from the start menu, and CD into C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE (adjust for your own system if you have changed the installation directory or run 64-bit Windows).
Then do:
dumpbin /headers devenv.exe | more
Stolen from visual studio 2010 - verify if largeAddressAware is in effect? - Stack Overflow[^]
|
|
|
|
|
VERY GOOD advice, thanks. It says devenv.exe can handle large addresses > 2GB!
I learnt a lot today.
How do we preserve the wisdom men will need,
when their violent passions are spent?
- The Lost Horizon
|
|
|
|
|
harold aptroot wrote: 4GB on a 64bit OS. With enough RAM.
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
The address space is 4GB with not enough RAM also, you just can't have all of it filled with physical pages at the same time then
|
|
|
|
|
true.
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
It's the program itself that has this flag, to tell the OS that it's able to address more than 2GB.
And why would the program not be able to address more than 2GB?
|
|
|
|
|
Maybe it assumes pointers are positive. But it doesn't matter, regardless of the reason, if it doesn't set the flag then it's not getting 4GB of space. And even that doesn't matter, VS has it set.
|
|
|
|
|
Historical reasons I'd say.
On Windows NT they split the addressable memory between Kernel and program, 2GB each. No flags or switches. Just 2GB.
So, what pointer would you use if you want to stay within those 2GB? The OS just needs to check the sign if it is an intptr.
Now enter the guys at MS Exchange, they were quite unhappy with the limitations enforced on them. The customers didn't want to buy the Datacenter version of Windows 2000 just to get a few more usable GB.
So on Server 2003 they added the /3GB switch, but to make sure the OS makes the right checks they also had to add the /LARGE_ADDRESS_AWARE flag.
|
|
|
|
|
harold aptroot wrote: Maybe it assumes pointers are positive.
Generally the other way around. Something like this bricks if points are allowed to go above the 2GB limit.
int* GetFooPtr()
{
}
Initially MS tried making /3gb work on all apps on 32bit OSes and allowing 4gb for 32bit apps on 64bit OSes; but crap code like the above vomited all over the place enough times that they quickly had to backtrack and make it per app opt in.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I've been guilty of that sort of thing myself..
|
|
|
|
|
Somehow - but not really. On 32 bit system the OS can address 2^32 = 4 GB of spaces, but MS used signed types of "legacy reason".
But as others wrote deleting the cache and restart is a good way.
I also delete the sdf file in the solution directory as it getting bigger and bigger.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
|
In all the years that I have used Visual Studio, I have never encountered this issue, ever. BTW, I do not have 32 gigs of memory.
I would first suggest that it is NOT visual Studio's fault, but rather another application(s) and/or processes running in the background that is the culprit. Innocent until proven guilty.
When you close VS and all VS related processes, how much memory is freed. TaskManager is your friend.
|
|
|
|
|
Cornelius Henning wrote: I wonder if it has something to do with the fact that VS is a native 32 bit application, and 32 bits can only address 4GB? Yep.
I think there is a method for a 32 bit process to access more than 4GB, but I believe it's not straightfoward.
Cornelius Henning wrote: why Microsoft does not have a 64 bit version Why?
0) Performance,
1) Performance,
2) Performance,
3) Most people don't need more than 4GB.
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Thanks to all who have responded. I now have a few things to try!
How do we preserve the wisdom men will need,
when their violent passions are spent?
- The Lost Horizon
|
|
|
|
|
No mods required. Vanilla Minecraft! Impressive - both that he did it, and that he actually thought of this.
|
|
|
|
|
I envy him to have so much spare time to waste...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
If you are passionate enough about something, you can always find time to do it. Most people waste several hours a day doing nothing of value
|
|
|
|