Функция loadlibrary в MATLAB® позволяет вам загружать совместно использованную библиотеку в MATLAB.
Загрузка библиотек с помощью заголовочных файлов не поддержана в скомпилированных приложениях. Поэтому, чтобы создать приложение, которое использует функцию loadlibrary с заголовочным файлом, выполните эти шаги:
Создайте прототипный файл MATLAB. Предположим, что вы вызываете loadlibrary со следующим синтаксисом.
loadlibrary(library, header)
Запустите следующую команду в MATLAB только однажды, чтобы создать прототипный файл:
loadlibrary(library, header, 'mfilename', 'mylibrarymfile');
mylibrarymfile.m в текущей папке. Если вы находитесь на Windows®, другой файл с именем, library_thunk_pcwin64.dll также создается в текущей папке.Измените вызов loadlibrary в вашем MATLAB к следующему:
loadlibrary(library, @mylibrarymfile)
Скомпилируйте и разверните приложение.
Если вы интегрируете библиотеку в развертываемое приложение, задаете .dll библиотеки наряду с library_thunk_pcwin64.dll, если создано, с помощью опции -a команды mcc. Если вы используете Application Compiler или приложения Library Compiler, добавьте файлы .dll в раздел Files required for your application to run приложения.
Если вы обеспечиваете библиотеку как внешний файл, который не интегрирован с развертываемым приложением, поместите файл библиотеки .dll в ту же папку как скомпилированное приложение. Если вы находитесь на Windows, необходимо интегрировать library_thunk_pcwin64.dll в скомпилированное приложение.
Преимущество этого подхода - то, что можно заменить библиотеку на обновленную версию, не перекомпилировав развертываемое приложение. Заменение библиотеки с различной версией работает, только если функциональные подписи функции в библиотеке не изменены. Это вызвано тем, что и mylibrarymfile.mlibrary_thunk_pcwin64.dll связываются к функциональным подписям функций в библиотеке.
Вы не можете использовать loadlibrary в MATLAB, чтобы загрузить разделяемую библиотеку, созданную с MATLAB. Для получения дополнительной информации о loadlibrary смотрите Ограничения к Разделяемой Поддержке Библиотеки (MATLAB).
Операционные системы имеют функцию loadlibrary, которая загружает заданный модуль операционной системы Windows в адресное пространство процесса вызова.