【问题标题】:Intel c++ CreateWindow kernel resource leakIntel c++ CreateWindow 内核资源泄露
【发布时间】:2012-11-23 22:43:10
【问题描述】:

我正在使用 Parallel Studio(来自英特尔)和英特尔 c++ 编译器。

内存问题分析器总是告诉我,我的CreateWindow 函数中有内核资源泄漏。

函数调用位于我的头文件的第 26 行。

无论我做什么,泄漏总是出现(在类的析构函数中调用DestroyWindow等)

标题: http://beta.pastie.org/private/ze8x59f1nfkjz0wcrromew

来源: http://beta.pastie.org/5425046

【问题讨论】:

    标签: c++ memory resources memory-leaks intel


    【解决方案1】:

    您链接的代码中的类没有析构函数。

    无论如何,CreateWindow 所做的事情可能看起来像内存泄漏,但实际上并非如此。

    附:不要在 CWindow 的每个实例化上注册 WNDCLASS。在程序启动时注册一次。您可以在 CWindow 中创建一个私有的 WindowClass 单例类来处理窗口类注册:

    class CWindow
    {
    private:
        class CWindowClass
        {
        private:
            static CWindowClass m_windowClass;
    
            CWindowClass()
            {
                // Register a WNDCLASS
            }
    
            ~CWindowClass() {}
        }
    
        ...
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 2010-11-24
      • 2011-02-20
      • 1970-01-01
      相关资源
      最近更新 更多