Некоторые разделяемые библиотеки, скомпилированные как Microsoft® Windows® 32-битные библиотеки, используйте соглашение о вызовах, которое несовместимо с MATLAB по умолчанию® соглашение о вызовах. Соглашением о вызовах по умолчанию для MATLAB и для Microsoft C и компиляторов C++ является cdecl
. Для получения дополнительной информации смотрите MSDN®
Статья Calling Conventions.
Если ваша библиотека использует различное соглашение о вызовах, создайте a loadlibrary
моделируйте файл и измените его с правильными настройками, как описано в статье MATLAB Answers™, Почему MATLAB отказывает, когда я делаю вызов функции на DLL в MATLAB 7.6 (R2008a)?