brewMP Extension问题

mx217 2009-10-29 01:18:32
我创建2个extension程序。p1 和 p2
p1 的结构里有 p2的指针
程序启动后p1先执行,再从 p1 中启动 p2
当我将 p2 Release后,p1 里指向 p2 的指针依旧存在,导致我做某些判断的时候出错
请问如何解决。

我对extension不太熟,希望高手能讲解下如何在extension中,处理各个程序的事件不会引起冲突
...全文
1776 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
一般让p1 extension来负责完整的p2的生命周期,release一般使用
#define RELEASEIF(pi) { if (pi) { IBASE_Release((IBase*)(pi)); (pi)=0; }}
strayedbird 2009-10-29
  • 打赏
  • 举报
回复
对象release后,指针本来就不归零,需要你自己做,所以大家愿意用一个宏做这件事
#define RELEASEIF(pi) { if (pi) { IBASE_Release((IBase*)(pi)); (pi)=0; }}
mx217 2009-10-29
  • 打赏
  • 举报
回复
我使了下p1 掉用p2的Release结果没释放掉,只能自己把指针等于NULL
不知道是什么原因
mx217 2009-10-29
  • 打赏
  • 举报
回复
主要我可能要用 p2 再调用 p3
是不是如果我p2处理好后 让p1释放掉p2,再调用p3这样比较好
hhygcy 2009-10-29
  • 打赏
  • 举报
回复
请问在你的程序里面是谁负责吧p2 release掉的?
如果p1的话,那p1应该知道p2已经无效了
如果是主程序的话,我想说你这样的操作方式有问题,对app来说p1隐式地创建了p2,却又让app删除
这样的设计有一定的问题

其实你的问题比较清楚 就是p1里面成员指针p2是否有效不能判断,如果让p1 extension来负责完整的p2的生命周期就好了嘛

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧