外部 C ライブラリ (DLL) を matlab から呼び出すと、matlab は最初filename_thunk_pcwinXX.dll
に temp ディレクトリに (XX は OS によって 32 または 64 のいずれかになります) という名前のサンク ファイルを生成しようとするようです。
matlab ドキュメントでは、このファイルは外部 DLL と Matlab の間のインターフェイスであると述べられているため、元の外部 DLL の他のデータは含まれていません。
問題は、実行時に他のライブラリを呼び出す可能性のあるライブラリを作成したことです。ライブラリが特定のライブラリを呼び出すと、matlab は常に奇妙な結果をもたらすか、クラッシュすることさえあります (すべてではありません。私のライブラリとここの他のライブラリは 64 ビットです)。 DLL)。
また、matlab の代わりに他の C/C++ プログラムから呼び出された場合、すべてのライブラリ関数は問題なく動作します。
matlab を適切に動作させるために、実行時にライブラリによって呼び出されるこれらの他のライブラリも、何らかのサンク ファイルを取得する必要があるのでしょうか。信じられませんが、matlabが外部ライブラリを処理する正確な方法もわかりません。