博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大量调用函数,里CImage局部变量 并使用Load函数,会导致大量的线程退出现象解决办法
阅读量:4179 次
发布时间:2019-05-26

本文共 491 字,大约阅读时间需要 1 分钟。

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;    }}

 

转载地址:http://mwmai.baihongyu.com/

你可能感兴趣的文章
文科生,你为啥学编程?
查看>>
使用Eclipse时出现Unhandled event loop exception错误的有效解决办法
查看>>
JAVA之路:第一章 JAVA入门初体验
查看>>
菜鸟文科生的java之路:运算符
查看>>
菜鸟文科生的java之路:变量和常量
查看>>
菜鸟文科生的java之路:流程控制语句
查看>>
北海糖:Java初阶练习题
查看>>
不知道什么是数组?看这里就好了
查看>>
文科生北海唐的Java之路:方法(慕课)
查看>>
自学Java的轨迹线路
查看>>
如何更好的隐藏你自己,让我们谈谈什么是封装?
查看>>
文科生北海糖的:Java之路——继承
查看>>
Makefile 中:= ?= += =的区别
查看>>
消灭编译警告(Warning)
查看>>
(GCC) How can I hide "defined but not used" warnings in GCC?
查看>>
错误: 隐式声明函数‘kmalloc’ [-Werror=implicit-function-declaration]
查看>>
error: two or more data types in declaration specifiers原因及解决方法
查看>>
Linux驱动基础开发2
查看>>
ioctl在socket中的一些用法及示例
查看>>
Linux设备驱动--块设备(二)之相关结构体
查看>>