win32程序使用大内存

最近在写一个图像处理的程序,由于算法比较占内存,总是在申请内存的时候出错误。纠结了好久,还天真地去改虚拟内存。。。。
实际上是在vs中使用的是X86环境,就是32位模式。程序所能请求内存的上限,默认是2G,于是有两种方法。
一种是将环境改为X64。但是用了一些X86的dll,在x64的模式下运行就还会抛出内存溢出异常的。
另一种就是修改工程属性,启用大地址。如下图:
这里写图片描述
最后问题完美解决!
这里写图片描述
这种方式是偷懒的方式,其实在程序上完全可以优化,在动态内存上还有很多技巧可以使用,但是为了尽快的实现算法,就不去纠结编程技巧了。

首先看下各种微软操作系统内存支持状况。暂时未写windows7 及windows 2008。 Windows 2000 Advanced Server 8 GB 内存 RAM Windows 2000 Datacenter Server 32 GB 内存 RAM Windows XP (所有版本) 4 GB 内存 RAM* Windows Server 2003 (and SP1) Standard Edition 4 GB 内存 RAM* Windows Server 2003 Enterprise Edition 32 GB 内存 RAM Windows Server 2003 Datacenter Edition 64 GB 内存 RAM Windows Server 2003 SP1 Enterprise Edition 64 GB 内存 RAM Windows Server 2003 SP1 Datacenter Edition 128 GB 内存 RAM 1,首先检查主板是否支持,下载everest检测软件,在主板-内存一项中,Physical Address Extension(PAE)查看“操作系统支持”“处理器支持”是否为“是”,如果是“是”的话,那么接下来 2,我的电脑-属性-高级-启动和故障恢复-设置-编辑,这里编辑操作的是c盘根目录下隐藏的boot.ini文件,也可以通过在c盘显示隐藏文件的方法找到它,一般boot.ini里的内容如下: [boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect 那么接下来在“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" 后面加上“/PAE” 即“multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /PAE /noexecute=optin /fastdetect” 这样保存关闭,系统就打开了PAE,重新启动后,电脑属性的下方多了“物理地址扩展”几个字,虽然显示的还是3.25g内存,但实际上4g内存已经完全启用了。 在默认情况下 (不使用PAE), Windows XP (32bit)是可以识别4GB内存的. PAE参数是为了多于4GB内存的情况. 但是根据我的经验, 有很多情况下, Windows XP不能够正确的识别出4GB内存. 一般这都是因为计算机硬件占用内存. 32-bit的 Windows XP 默认不能使用4GB内存: 32位的Windows XP最大支持4GB物理内存. 但是Windows XP不能使用全部的4GB内存, 因为有一部分内存是保留给系统硬件, 驱动等. 所以有时候您安装4GB内存, 但是系统报告2.5GB到3.5GB. 这个情况是比较常见的. 加了/PAE后Windows XP是否可以识别使用4GB内存: /PAE主要用于大于4gb物理内存的情况下, 所以4GB内存不需要/PAE. 另外, 32位的Windows XP添加了/PAE也依然有4GB物理内存限制 ---, 即32位的Windows XP依然只能使用最大4GB物理内存. 这一点和32位的Windows 2003 不一样. 物理内存限制和系统也是有关系的. 附件下载XP 2003 诺德尔内存开启4GB以上大内存的支持功能,提供CSDN懒人及热友下载。原理也是打开PAE。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值