32Bit程序使用超过2G内存的方法

大家知道32Bit程序一般只能使用2G内存,但是我们往往需要使用更大内存,而有不想将程序改成64Bit。
这时候有什么办法突破系统限制呢?说不多说,直接上代码:
Delphi环境下,只需要在主程序之前加这么一句编译指令:

{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}

亲测单进程可以使用高达3.8G内存。

别忘了,添加Windwos.pas,否则编译不通过。

为什么只能使用4G呢?

这是因为64位系统下32位进程的内存寻址上限是4GB。

如果是32位系统,另外还需开启系统的3GB switch。方法如下:

开cmd输命令:

bcdedit /set IncreaseUserVa 3072

然后重启

但是这样32位win的内核只能分配到1G的内存,某些驱动可能会有问题。

关闭3GB switch:

bcdedit /deletevalue IncreaseUserVa

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值