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