Win32 应用程序的虚拟内存地址空间限制是多少?

Win32 应用程序的虚拟内存地址空间限制是多少?

以下是我的理解,如果我对 3GB 部分有误,请纠正我?

  • win32 应用程序的虚拟内存地址空间限制为4GB。

  • 每个进程获得的 4GB 内存地址空间中,只有 2GB 真正可供程序使用;另外 2GB 保留给内核使用。

  • /3GB启动选项可以允许一些程序使用更多的内存地址空间。

如果这样的 win32 应用程序在 Win64 操作系统上运行,

  • 可访问的总虚拟内存地址空间的上述 4GB 限制是否仍然适用?

  • 2GB 的限制还适用吗?

  • /3GB 选项仍然可用吗?

谢谢!

答案1

参照表格这里,我们可以看到32位应用程序可以有三种不同的虚拟内存限制:

在 x64 Windows 上与标志链接的 32 位应用程序/LARGEADDRESSAWARE本身将获得 4GB 的空间。

/LARGEADDRESSAWARE在 x86 Windows 上,带有启动标志且与标志链接的 32 位应用程序/3GB本身将拥有 3GB 的空间。

在所有其他情况下,32 位应用程序将获得默认的 2GB/2GB 应用程序/内核分割。

答案2

是的,依靠, 不。

相关内容