LoadLibrary,vs__vfptr查错过程

问题描述:

框架中使用了LoadLibrary(它可以淋漓尽致地发挥动态库的优势,独立。完全独立。)

1,我有一个【Manager对象】

2,【Manager对象】中有个【Load对象】。

自己写了个跨平台的的Load,姑且叫它【Load类】,他的设计在~Load()释放动态库,另一个有意思的地方,它是在库提供的函数接口中new 出【client对象】

3,【Manager对象】中有个从【Load对象】来的【client对象】


真正的问题来了,

现在【Manager对象】析构,好嘛,现在是先析构【Load对象】,再析构【client对象】。

在【client对象】析构的时候,TMD崩掉了。


分析原因:只是站在一个浅层的面

【Load对象】析构会把动态库也卸了,这时候===》(从属关系)【Load对象】的【client对象】也就失效了。

深层次的原因,没有时间去研究了。


解决方案:

做一个LoadHandler类,此类包含【client对象】,然后在析构函数中控制析构的对象。


接下来:

在心里留个印象,这个具体的原因,以后级别到了再分析。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值