查看单个帖子
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 MATLAB:由mex加载的DLL无法卸载?

我有一个名为p.mexw64的mex模块,它使用另一个称为p.dll dll。
mex模块在加载时会加载p.dll ,因为它链接到它的lib文件。
通常,当我想重新编译p.dll我会clear p; 。这将卸载p.mexw64 ,然后依次也卸载p.dll 。

除非不是这样。在某些情况下,我无法真正量化p.mexw64已卸载(我看到它在Process Explorer中),但p.dll保持加载状态且未释放。
然后,我被迫关闭matlab以便重新编译d.dll ,这很痛苦。

使用它的mex消失后,有什么可能使该dll保持加载状态?


回答:
尝试clear all 。否则,作为一般解决方案,我发现Unlocker是Windows的宝贵工具。



更多&回答...
poster 当前离线   回复时引用此帖