在Windows上,在正常情况下,32位进程只能访问2 2GB的内存(或者在boot.ini文件中使用特殊的开关访问3 2GB)。在64位操作系统上运行32位进程时,有多少可用内存?有没有什么特殊的开关或设置可以改变这一点?
发布于 2009-03-12 17:04:38
默认为2 GB。如果应用程序支持大地址空间(与/LARGEADDRESSAWARE链接),它将获得4 GB (而不是3 GB,请参阅http://msdn.microsoft.com/en-us/library/aa366778.aspx)
它们仍然被限制在2 GB,因为许多应用程序依赖于指针的最高位为零。
发布于 2009-03-12 17:03:37
4 GB减去系统正在使用的容量(如果您使用/LARGEADDRESSAWARE链接)。
Of course, you should be even more careful with pointer arithmetic if you set that flag.
发布于 2013-01-23 06:09:44
似乎没有人提到这样一个事实:如果你有许多不同的32位应用程序,wow64子系统可以将它们映射到内存中4G以上的任何地方,所以在有足够内存的64位windows上,你可以运行比在本机32位系统上多得多的32位应用程序。
https://stackoverflow.com/questions/639540
复制相似问题