The 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 в адресное пространство вызова процесса.