当从Matlab中调用外部C库(DLL)时,似乎Matlab首先会尝试在临时目录中生成一个名为
在Matlab文档中,它提到这个文件是外部DLL和Matlab之间的接口,因此它不包含原始外部DLL的任何其他数据。
问题是,我编写了一个在运行时可能调用其他库的库,当库调用某些库(不是所有库,而且我的库和这里的其他库都是64位DLL)时,Matlab总是给我一些奇怪的结果甚至崩溃。
当被其他C/C++程序调用时,我的所有库函数都能无缺地工作。我只是想知道,为了让Matlab正常工作,是否需要让我的库在运行时调用的这些其他库也获得某种thunk文件?我只是不敢相信,但我也不知道Matlab如何处理外部库的确切方法。
filename_thunk_pcwinXX.dll
(其中XX是32或64,取决于操作系统)的thunk文件。在Matlab文档中,它提到这个文件是外部DLL和Matlab之间的接口,因此它不包含原始外部DLL的任何其他数据。
问题是,我编写了一个在运行时可能调用其他库的库,当库调用某些库(不是所有库,而且我的库和这里的其他库都是64位DLL)时,Matlab总是给我一些奇怪的结果甚至崩溃。
当被其他C/C++程序调用时,我的所有库函数都能无缺地工作。我只是想知道,为了让Matlab正常工作,是否需要让我的库在运行时调用的这些其他库也获得某种thunk文件?我只是不敢相信,但我也不知道Matlab如何处理外部库的确切方法。