比如说,我有一个 Mex 功能myfunction.mexmaci64
(这是 OS X 上的正确结尾)。
现在, myfunction 与 library 链接mylibrary.dylib
。mex 文件和库都位于同一个文件夹中。
现在,每当我更改某些内容时mylibrary
,MATLAB 不会重新加载新的库版本,而是使用旧版本,直到我重新启动 MATLAB。在进行开发和调试工作时,这是非常令人讨厌的。有没有办法强制 MATLAB 在不重新启动应用程序的情况下重新加载库?
注意:将库静态链接到 mex 函数会很容易。但是,由于我在很多 mex 文件中链接同一个库,我宁愿保留我的单个共享库以减少编译时间和数据冗余。
编辑:
关于讨论是否有clear mex
帮助:
[~, loaded_mexes] = inmem('-completenames'); % get canonica
返回一个包含所有加载的 mex 文件的列表。此列表不包含链接库,而仅包含 mex 文件本身。使用clear mex
成功清空此列表,但不会卸载mylibrary
- 再次运行 mex 函数仍会产生与旧共享库相同的输出。