当我在matlab中编写自己的mex函数时,我必须调试它并在matlab的工作区中运行它时多次检查mex函数.
每次重建mexw32/mexw64时,我都需要在matlab环境中进一步测试之前用新构建的旧版本替换旧版本.
但是,如果我在覆盖旧版本之前没有重新启动Matlab,则总会出现错误消息"复制文件错误...,您可能没有权限".
1)因为我只运行一次mex功能并且已经终止了它的原因是什么?
2)如何在不重新启动Matlab的情况下覆盖旧的mex文件?
谢谢
你需要运行:
clear mex
Run Code Online (Sandbox Code Playgroud)
这将从内存中卸载所有MEX文件,以便您可以覆盖或删除文件.您也可以选择性地卸载MEX文件clear mexFileName.
要列出所有加载的MEX文件,请使用inmem如下,
[~,mexLoaded] = inmem('-completenames')
mexLoaded =
'C:\Program Files\MATLAB\R2013b\toolbox\matlab\winfun\winqueryreg.mexw64'
Run Code Online (Sandbox Code Playgroud)
请注意,如果以前锁定了某个功能mlock,则需要将其解锁,munlock否则将无法卸载.