在WINDOWS 64bits 下
执行:
#include
#include
int main(void)
{
void *vp;
int count=0;
while( ( vp=malloc(100*1024*1024) ) )
{
count++;
}
printf("已经分配%d00 MB 内存空间 \n",count);
getchar();
return 0;
}
运行结果: 已经分配5100 MB(每次运行的结果都不一样。) 内存空间。、
为什么在4G内存下可以分配5100MB内存空间?难道是缓存?
怎样精准的计算导致内存信息泄漏?5100是怎样来的?这两个问题之间有什么联系吗?