CxImage在使用中delete出错的解决方案

最近在尝试使用CxImage,但是按照网上提供的简单代码尝试,在delete动态申请的对象时老是说堆栈出错,百思不得其解。最后经过多方面尝试,总算找到了三个替代方案,姑且算是解决了这个问题。
我的CxImage是在网上下载的6.00版,使用vc6编译,在win7+vs2010上实验,使用的是debug版,代码如下:
CxImage *pxImage=new CxImage;
pxImage->Load("Penguins.jpg",CXIMAGE_FORMAT_JPG);
if (pxImage->IsValid()==false)
{
cout<<"No image"<<endl;
system("pause");
return 0;
}
pxImage->Save("Penguins.bmp",CXIMAGE_FORMAT_BMP);
delete pxImage;
图像也保存成功了,说明前面都运行的很好,只有在delete的时候会说堆栈出错。虽然问题没有找到,解决方案倒是有三个:
1、不用动态分配内存,直接定义对象。(废话)
2、不用局部delete,使用全局delete。(::delete)
3、在使用CxImage的时候,不用debug版,用release版就没问题。
经过我的实验,以上三个在我的代码上都不会出错,不过深层次的问题,我也搞不懂了。
顺便一提,貌似7.01版本没这个问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值