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