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