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
, смотрите Ограничения к Разделяемой Поддержке Библиотеки.
Примечание
Операционные системы имеют loadlibrary
функция, которая загружает заданный модуль операционной системы Windows в адресное пространство процесса вызова.