【发布时间】:2012-11-23 22:43:10
【问题描述】:
我正在使用 Parallel Studio(来自英特尔)和英特尔 c++ 编译器。
内存问题分析器总是告诉我,我的CreateWindow 函数中有内核资源泄漏。
函数调用位于我的头文件的第 26 行。
无论我做什么,泄漏总是出现(在类的析构函数中调用DestroyWindow等)
【问题讨论】:
标签: c++ memory resources memory-leaks intel
我正在使用 Parallel Studio(来自英特尔)和英特尔 c++ 编译器。
内存问题分析器总是告诉我,我的CreateWindow 函数中有内核资源泄漏。
函数调用位于我的头文件的第 26 行。
无论我做什么,泄漏总是出现(在类的析构函数中调用DestroyWindow等)
【问题讨论】:
标签: c++ memory resources memory-leaks intel
您链接的代码中的类没有析构函数。
无论如何,CreateWindow 所做的事情可能看起来像内存泄漏,但实际上并非如此。
附:不要在 CWindow 的每个实例化上注册 WNDCLASS。在程序启动时注册一次。您可以在 CWindow 中创建一个私有的 WindowClass 单例类来处理窗口类注册:
class CWindow
{
private:
class CWindowClass
{
private:
static CWindowClass m_windowClass;
CWindowClass()
{
// Register a WNDCLASS
}
~CWindowClass() {}
}
...
};
【讨论】: