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