【发布时间】:2014-05-13 20:21:43
【问题描述】:
我创建了一个 HPEN 并使用以下代码选择了它:
HPEN hPen = CreatePen(PS_SOLID, 1, RGB(0,0,0));
oldPen = (HPEN)SelectObject(hdc, hPen);
在此之后,我正在画一些东西并选择旧钢笔:
SelectObject(hdc, oldPen);
要查看我使用的内存泄漏:
#define CRTDBG_MAP_ALLOC
#include <crtdbg.h>
/* This in the main function */
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
如果我关闭应用程序,则不会显示内存泄漏。但我想如果我不使用 DeleteObject() 删除对象,我会出现内存泄漏。
我已经用这个测试了这个标志并且它有效:
int* leak = new int;
所以标志不会有问题。 你能帮我解决这个问题,或者告诉我更多关于为什么没有显示内存泄漏的信息吗?
谢谢!
【问题讨论】:
标签: c++ winapi visual-c++ memory-management memory-leaks