RT
教科书上说windows系统为每个进程都会分配3-5个1M大小的堆,但是我这边运行结果
却和书上说的差别挺大,我的程序得到的结果是只有系统只为我的进程分配了一个堆,而且这个堆的大小我也不知道是多大。
代码如下:
HANDLE hHeap = GetProcessHeap();
cout << "第一个堆: " << hHeap << endl;
HANDLE hHeaps[256] = {0};
DWORD num = GetProcessHeaps(256,hHeaps);
cout << "num = " << num << endl;
for(DWORD i = 0; i < num ; ++i)
cout << "堆" << i+1 << ": "<< hHeaps[i] << endl;
我的操作系统是window7 64位
使用的ide是vs2012
具体问题如下:
1、windows7是否与以前的windows系统在为进程分配堆的方案上有所不同?
2、如果确实win7只能分配一个堆给进程,那这个堆有多大?或者说我怎样可以查询这个堆的大小?
多谢解答