加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

32位进程可以在64位Windows操作系统上访问更多内存吗?

发布时间:2020-12-13 20:43:03 所属栏目:Windows 来源:网络整理
导读:根据我的理解,32位进程只能在没有/ 3GB开关的情况下在32位窗口上访问2GB内存,并且操作系统会根据自己的恶魔原因占用部分内存.这似乎与我的经验相吻合,因为我们有一个应用程序崩溃,当它达到大约1.2-1.5 GB的内存异常,即使仍然有足够的可用内存. 我的问题是,将
根据我的理解,32位进程只能在没有/ 3GB开关的情况下在32位窗口上访问2GB内存,并且操作系统会根据自己的恶魔原因占用部分内存.这似乎与我的经验相吻合,因为我们有一个应用程序崩溃,当它达到大约1.2-1.5 GB的内存异常,即使仍然有足够的可用内存.

我的问题是,将这个32位应用程序移动到64位窗口是否允许它现在可以访问超过1.5GB左右的内存?或者应用程序本身是否必须升级到64位?

较新版本的Visual Studio有一个新标志,使32位应用程序“具有大地址空间感知”.基本上它的作用是说如果它加载到64位版本的Windows上,那么它将获得4GB(32位指针的限制).这肯定比你在32位版本的Windows上获得的2或3 GB更好.见 http://msdn.microsoft.com/en-us/library/aa366778.aspx:

最值得注意的是它说:

Limits on memory and address space
vary by platform,operating system,
and by whether the
IMAGE_FILE_LARGE_ADDRESS_AWARE value
of the LOADED_IMAGE structure and
4-gigabyte tuning (4GT) are in use.
IMAGE_FILE_LARGE_ADDRESS_AWARE is set
or cleared by using the
/LARGEADDRESSAWARE linker option.

另见:http://msdn.microsoft.com/en-us/library/wz223b1z.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读