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