C++需要释放资源的操作
来源:互联网 发布:js 精确倒计时 编辑:程序博客网 时间:2024/05/16 14:10
1、通过CBitmap* m_Bitmap = CBitmap::FromHandle(hBitmap)返回获取的CBitmap*对象,实际上是 CBitmap::FromHandle(hBitmap)在内存中New了一个CBitmap*对象,所以必须在相应的地方释放内存,否则会有内存泄露。
释放内存方法:
if(m_Bitmap .m_hObject!=NULL)
m_Bitmap .DeleteObject();
2、在查找硬盘文件后,要关闭被查找的文件是获得的句柄,否则该文件所在文件夹将不能被访问。
API:
WIN32_FIND_DATA lpFindFileData;
Handle hFindFile = ::FindFirstFile(lpFileName, &lpFindFileData);
用完后一定要关闭句柄:FindClose(hFindFile);
MFC:
CFileFind finder;
BOOL working = finder.FindFile(path + _T("\\*.PNG"));
用完后一定要关闭:finder.Close();
- C++需要释放资源的操作
- jdbc资源的释放,增删改操作
- C#COM对象的资源释放问题解决
- C # 资源释放
- 数据库操作、IO操作的资源没有及时释放
- 内存资源的申请与释放(C&C++)
- C#IDisposable 接口&资源释放
- GDI资源的释放
- 释放资源的时候
- GDI资源的释放
- js资源的释放
- 实现C语言自动释放资源的方法与探讨
- 菜鸟学android——程序优化:需要释放的资源
- 对于Activity被finish之后,资源的释放需要注意以下几点。
- 关于需要释放的调用
- .Net操作Excel后彻底释放资源
- 1125 动态资源的释放
- 关于.net的资源释放
- linux驱动开发书籍(待续)
- django south使用
- 黑马程序员----集合类(一)
- Win32串口编程
- Boundle类的用法
- C++需要释放资源的操作
- 学遥感必读的十本书
- Oracle体系结构总结
- SQL 语句创建作业
- 使用线程池和CountDownLatch计数器来进行抓取的简单事例2
- 宏中"#"和"##"的用法
- LINUX图形与文字界面的切换
- gcc常用选项
- 三个有用的Switch命令:spanning-tree portfast、switchport host、smartport