MATLAB® обеспечивает гибкую, двухстороннюю интеграцию с другими языками программирования, позволяя вам повторно использовать сторонний код. Для списка языков программирования и поддерживаемых версий, смотрите MATLAB Поддерживаемые Интерфейсы на Другие Языки.
MATLAB обеспечивает эти функции, чтобы помочь вам интегрировать алгоритмы C/C++ в свои приложения MATLAB.
Совместно использованный интерфейс библиотеки C/C++ является набором функций, динамически загруженных приложением во время выполнения. Пользование разделяемой библиотекой имеет преимущество упаковки нескольких библиотечных функций в один интерфейс. Кроме того, MATLAB справляется с преобразованиями типа данных.
Вызовите Библиотечные функции C++ - Чтобы вызвать функции в совместно использованной библиотеке C++, использовать clib
пакет описан в Библиотеках C++.
Каждый раз, когда возможно, предпочтите интерфейс C++ интерфейсу C-only. Для получения информации о поддержке C++ смотрите эти ограничения.
Вызывать функции в C совместно использовало библиотеку, используйте calllib
функция. Для получения информации см. Библиотеки C. Эта функция работает лучше всего с библиотеками 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 поддерживает функции вызова и использование объектов на следующих языках.
Функции файла MEX для C/C++ и Фортрана
Можно вызвать 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.