vc内存分配

来源:百度知道 编辑:UC知道 时间:2024/09/20 03:34:17
内存分配的疑惑:
我有4G内存,一个进程的动态数组是{char【9】,short,int},最多能分配61,000,000,超过则报内存不足。
我改为两个进程,每个410,00,000,就是82,000,000,又可以同时运行。
那么究竟如何计算用户可用内存量?

windows 32位操作系统下,使用内存分页机制。每个进程都在自己虚拟的独立内存里。
而通用寄存器为32位,可以使用32根线性地址寻址。寻址的方式等于2的32次方。也就相当于4G左右。也就是说,每个进程只拥有4G左右的虚拟内存空间。

并且4G里有2G左右被系统使用,代码能用的就2G以内。地址范围是0x00400000到0x7FFFFFFF

你的实际内存大并不能增加1个进程可以使用的虚拟内存.