一个关于dll导出类的对象指针的delete问题
2010-08-19 17:18
162 查看
今天下午的几个小时除了沉浸于分析视频流外,还遇到了一个让我头大的问题就是:在delete从dll导出类定义的对象指针的时候失败了,内存泄露,内存泄露是我踏入社会这几个月来最常见的问题了。用java,c#习惯后,突然搞C++,内存会让你头大无语,终于没找到问题所在,只能找解决方案了,穷举了下:终于决定采用在dll中增加两个全局函数然后将这两个全局函数导出,同过在调用的工程中调用这两个函数。其中一个函数返回一个对象指针,另外一个函数当然是对该指针的释放了,不用说,这种方式搞定了,不过仍然不晓得为什么在调用工程中delete会失败。继续观察中 。。。
周末的时候又重新写了个小程序测试,似乎没出现内存泄露,甚是郁闷 。。。
先记录下我那个时候的解决方案吧:
通过在dll打出类中添加了两个全局函数:
比如说:
void CreateInstancePtr(void **,void *arglist);
void FreeInstancePtr(void **);
有人会问为啥用void **这主要是为传递过来的指针new一个对象,所以必须用指针的指针才行 。好了,写到这里吧,根本问题确实没发现,还需耐心观察 。
周末的时候又重新写了个小程序测试,似乎没出现内存泄露,甚是郁闷 。。。
先记录下我那个时候的解决方案吧:
通过在dll打出类中添加了两个全局函数:
比如说:
void CreateInstancePtr(void **,void *arglist);
void FreeInstancePtr(void **);
有人会问为啥用void **这主要是为传递过来的指针new一个对象,所以必须用指针的指针才行 。好了,写到这里吧,根本问题确实没发现,还需耐心观察 。
相关文章推荐
- 关于delete一个派生类时调用基类定义的virtual destructor的问题
- 关于对象在函数中delete的一个问题
- 一个关于c++字符串处理和delete[]与delete差别的问题
- 关于Silverlight2 beta2 app添加wcf引用的一个小问题
- 一个问题:关于类型转换Type Cast(汇编讲解 as 语法)
- 关于block的一个奇怪问题
- 一个关于类的数组成员变量问题
- 一个关于数据类型的问题
- 转学一个CSDN群友的好问题案例!!!关于把科目属性用数字替换如下:
- 关于silverhight中动态添加itemcontrol时"值不在预期的范围内" 的一个问题
- 关于Oracle的读一致性与for update的一个问题
- jQuery1.4.2中关于:not(:first)一个问题
- 一个关于授权的问题
- 关于time_t要注意的一个问题
- 一个关于拼图算法的问题
- 关于nginx转发的一个问题
- 3月题外:关于JS实现图片缩略图效果的一个小问题
- 关于如何初始化一个类内的静态二维数组变量问题
- 请教一个关于WINCE支持多BIN模式起动的问题
- QT 关于应用程序只启动一个实例的问题