问题描述
在 Windows 上,在正常情况下,32 位进程只能访问 2GB 的 RAM(或 3GB,在 boot.ini 文件中使用特殊开关).在 64 位操作系统上运行 32 位进程时,有多少内存可用?是否有任何特殊的开关或设置可以改变这一点?
On Windows, under normal circumstances a 32 bit process can only access 2GB of RAM (or 3GB with a special switch in the boot.ini file). When running a 32 bit process on a 64 bit operating system, how much memory is available? Are there any special switches or settings that can change this?
推荐答案
默认为 2 GB.如果应用程序知道大地址空间(与/LARGEADDRESSAWARE 链接),它将获得 4 GB(不是 3 GB,请参阅 http://msdn.microsoft.com/en-us/library/aa366778.aspx)
2 GB by default. If the application is large address space aware (linked with /LARGEADDRESSAWARE), it gets 4 GB (not 3 GB, see http://msdn.microsoft.com/en-us/library/aa366778.aspx)
它们仍然限制为 2 GB,因为许多应用程序依赖于指针的最高位为零.
They're still limited to 2 GB since many application depends on the top bit of pointers to be zero.
这篇关于32 位进程在 64 位操作系统上可以访问多少内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!