MATLAB ® обеспечивает гибкую двустороннюю интеграцию с другими языками программирования, позволяя повторно использовать устаревший код. Список языков программирования и поддерживаемых версий см. в разделе Поддерживаемые интерфейсы MATLAB к другим языкам.
MATLAB предоставляет эти функции для интеграции алгоритмов C/C + + в приложения MATLAB.
Интерфейс общей библиотеки C/C + + - это набор функций, динамически загружаемых приложением во время выполнения. Использование общей библиотеки имеет преимущество, заключающееся в объединении нескольких библиотечных функций в один интерфейс. Кроме того, MATLAB управляет преобразованиями типов данных.
Вызов функций библиотеки C++ - для вызова функций в общей библиотеке C++ используйте clib пакет, описанный в библиотеке C++ в MATLAB.
По возможности выберите интерфейс C++ над интерфейсом C-only. Для получения информации о поддержке C++ см. эти ограничения.
Для вызова функций в общей библиотеке C используйте calllib функция. Дополнительные сведения см. в разделе Библиотеки C в MATLAB. Эта функция лучше всего подходит только для библиотек C, но имеет эти ограничения.
Если требуется больше контроля над преобразованием данных и управлением памятью, попробуйте записать файл MEX.
Файл MEX представляет собой обертку кода вокруг алгоритма C/C + +, который обрабатывает преобразование типов данных MATLAB в типы C. Файлы MEX обеспечивают более высокую производительность, чем функции вызова через интерфейсы общей библиотеки MATLAB. Кроме того, MEX-файлы обеспечивают более программный контроль над преобразованием данных и управлением памятью.
Приложения C++ MEX используют современные функции программирования C++ и, по возможности, совместно используемые копии данных.
Файловые приложения C MEX используют API C Matrix и поддерживаются для существующих функций MEX. MathWorks рекомендует по возможности выбирать приложения для файлов C++ MEX вместо C MEX. Однако если функции MEX должны выполняться в MATLAB R2017b или ранее, запишите функции MEX в библиотеку матрицы C.
При наличии нескольких функций в библиотеке или отсутствии проблем с производительностью рекомендуется написать интерфейс библиотеки C++.
Эти функции требуют навыков программирования C/C + + для создания библиотечного интерфейса или записи функции MEX. Однако результирующую библиотеку или функцию MEX можно передать любому пользователю MATLAB. Конечный пользователь вызывает функциональные возможности, как и любую функцию MATLAB, не зная основных деталей реализации языка C/C + +.
Для вызова MATLAB из языковой программы C/C + + см. API MATLAB Engine для C++ или API MATLAB Engine для C.
При наличии функций и объектов на другом языке программирования их можно вызвать из MATLAB. Для интеграции этих объектов в приложение MATLAB не требуется быть разработчиком программного обеспечения. Однако для библиотек необходим доступ к сторонней документации.
MATLAB поддерживает вызов функций и использование объектов на следующих языках.
С помощью приложения Engine можно вызвать MATLAB с другого языка. Используя API механизма MATLAB, вызовите функции MATLAB из собственного приложения. MATLAB имеет API для следующих языков.
Чтобы создать приложение ядра, установите поддерживаемый MATLAB компилятор и используйте mex для построения приложения.
Можно написать собственные функции и вызвать их как функции MATLAB с помощью API MEX. Дополнительные сведения см. в разделе Выбор приложений MEX. Функции MEX можно писать на следующих языках.
Чтобы создать файл MEX, установите поддерживаемый MATLAB компилятор и используйте mex для построения функции.
С веб-службами можно взаимодействовать из MATLAB.
Функции веб-сервисов MATLAB RESTful позволяют непрограммистам получать доступ ко многим веб-сервисам с помощью методов HTTP GET и POST.
Для функциональности, не поддерживаемой функциями веб-служб RESTful, используйте классы интерфейса HTTP для записи настраиваемых приложений веб-доступа.
Если веб-служба основана на технологиях документов языка описания веб-служб (WSDL), используйте функции MATLAB WSDL.