一.为什么开启大内存
windows32应用程序每个进程内存空间为4G,其中2G操作系统默认分配给应用程序,称为用户模式虚拟地址空间,剩下2G默认位操作系统保留,称为内核模式地址空间。但是当应用程序使用大量内存空间后,当新增内存不足时, 程序就会崩溃,因此如果32位应用使用大量内存,可能达到临界线的,应该开启大内存模式。
二.开启方法
1.vs编译选项开启
2.选用vs的editbin工具\
打开vs对应版本的cmd命令窗
命令是:
editbin /largeaddressaware xx.exe
xx.exe可以是相对路径,也可以是绝对路径。
三.验证方法
打开vs对应版本的cmd命令窗
dumpbin /headers xx.exe | more
出现下图标红框的话,就是开启了大内存模式
四.开启大内存效果
对于 32 位操作系统,程序依然只能使用 2GB 内存,除非开启了 '/3GB'开关。开启后,应用程序的用户态将可以使用 3GB 内存,但内核态将只能使用 1GB 内存。
对于 64 位操作系统,Windows 将会把4GB寻址空间全部分配给应用程序,因为系统自己已经有更多的内存寻址空间可以使用了,没必要使用 32 位应用程序的寻址空间。
参考博客:
https://www.cnblogs.com/walterlv/p/10326596.html