解决频繁指针申请和释放所遇到的问题
2012-09-06 17:23
281 查看
#include "windows.h" #define pHEAP_BUF_MAX 253952 // 堆指针数组的大小 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) { HANDLE hHeap; PVOID TBuf[pHEAP_BUF_MAX]; // 要多少个倒是由你自己来定,似乎你的内存有多大 int T; MessageBox(NULL, TEXT("按[确定]按钮后开始分配堆。"), TEXT("分配堆"), MB_OK); hHeap = HeapCreate(0, 4096, 0); // 创建堆 for (T = 0; T < pHEAP_BUF_MAX; T++) // 分配堆,分配出的空间总计大约是 1000MB TBuf[T] = HeapAlloc(hHeap, 0, 4096); MessageBox(NULL, TEXT("分配完成,按[确定]开始释放堆。"), TEXT("释放堆"), MB_OK); for (T = 0; T < pHEAP_BUF_MAX; T++) if (TBuf[T] != NULL) HeapFree(hHeap, 0, TBuf[T]); HeapDestroy(hHeap); MessageBox(NULL, TEXT("释放完成!"), TEXT("完成"), MB_OK); return 0; }
若你将 pHEAP_BUF_MAX 设置一个很大的数,那可能会导致系统发出虚拟内存错误报告,
然而这也刚好证明了它将数据迁移到虚拟内存中去。
相关文章推荐
- C语言使用回调函数解决内存申请和释放的问题
- 指针学习遇到的三个问题以及解决办法
- 面试中遇到的问题:一个指针重复释放会出现什么情况
- 在使用Myeclipse时遇到由于删除action而引发的空指针异常问题的解决方法
- win7申请高级证书时遇到正在下载ActiveX控件的问题解决
- 遇到"不能执行已释放的 Script 的代码" 的问题和解决方法
- 结构体包含二级指针和二级指针内存的申请与释放问题
- 内存申请释放频繁问题
- 通过函数给指针申请内存时遇到的内存泄漏问题
- oracle 11g数据库安装最强教程及遇到的问题解决办法
- 遇到的问题及解决办法
- USB设备首次接入电脑时遇到的一些问题及解决方法
- windows 7 下安装 IIS 和 ArcGis Server 9.3 遇到的问题及解决方法
- Weblogic11g(server10.3.3)部署项目,遇到的问题解决记录。
- 项目适配iOS9遇到的一些问题及解决办法
- 笔记:工作过程中遇到的几个问题和相应的解决方法(ffmpeg, SDL)
- ipv6协议安装时遇到的问题及解决方法
- 基于51单片机的计算器写代码遇到的问题及解决办法
- 编写jsp页面时,时常遇到的rs.next()问题的解决方法
- virtualbox虚拟机使用usb设备中遇到的问题和解决方法