我有一个墨西哥功能,比如说myfunction.mexmaci64
(这是 OS X 上的正确结局)。
现在,myfunction 链接到一个库mylibrary.dylib
。 mex 文件和库都位于同一文件夹中。
现在,每当我改变一些东西mylibrary
,MATLAB 不会重新加载新的库版本,而是使用旧版本,直到我重新启动 MATLAB。这在进行开发和调试工作时非常烦人。
有没有办法强制 MATLAB 重新加载库而不重新启动应用程序?
注意:将库静态链接到 mex 函数中会很容易。但是,当我在多个 mex 文件中链接同一个库时,我更愿意保留单个共享库以减少编译时间和数据冗余。
Edit:
关于讨论是否clear mex
帮助:
[~, loaded_mexes] = inmem('-completenames'); % get canonica
返回包含所有加载的 mex 文件的列表。该列表不包含链接库,而仅包含 mex 文件本身。使用clear mex
成功清空此列表,但不卸载mylibrary
- 再次运行 mex 函数仍然会产生与旧共享库相同的输出。
要从内存中清除图书馆,我通常很幸运
bdclose all;
然后,如果我真的感到好战,我会这样做:
bdclose all; % clear all libraries out of memory ( supposedly )
clear all; % clear all workspace variables, mex, etc. ( supposedly )
rehash; % cause all .m files to be reparsed when invoked again
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)