本文主要是介绍大量调用函数,里CImage局部变量 并使用Load函数,会导致大量的线程退出现象解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
void LoadFile(const CString fileName)
{CImage img;HRESULT hResult = img.Load(fileName);if (FAILED(hResult)){ASSERT(0);return algArray;}
}
这个函数放在线程里,反复调用,发现出现大量线程退出线程
后来看CImage源码发现,如果发现析构CImage对象时,会有个static变量统计对象个数,当个数为0时,则析构GDI+对象
我也是醉了,这个MFC库的作者埋了这个大的坑。
修正办法:
void LoadFile(const CString fileName)
{static CImage img;img.Destroy();HRESULT hResult = img.Load(fileName);if (FAILED(hResult)){ASSERT(0);return algArray;}
}
这篇关于大量调用函数,里CImage局部变量 并使用Load函数,会导致大量的线程退出现象解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!