Опубликуйте интерфейс MATLAB к библиотеке C++

Чтобы создать интерфейс MATLAB® к библиотеке C++, используйте clibgen пакет

Чтобы создать (publish), MATLAB взаимодействует через интерфейс к библиотеке C++, вам нужно:

  • Один или несколько заголовочных файлов, которые содержат объявления всех функций, экспортируемых библиотекой. Необходимо смочь скомпилировать заголовки в среде разработки C++ и использовать функциональность в приложениях C++.

  • Совместно использованный файл библиотеки — .dll на Windows®, .so на Linux® или .dylib на macOS. Если библиотека полностью задана в заголовочных файлах, то файл библиотеки является дополнительным.

  • Кроме того, файл библиотеки импорта на Windows — .lib

  • Поддерживаемый MATLAB компилятор C++.

Интерфейс MATLAB автоматически преобразует подписи функции C++ в подписи функции MATLAB. Однако некоторые построения языка C++ не имеют уникальных соответствий на языке MATLAB. Чтобы устранить этот разрыв, MATLAB использует definition file.mlx расширение файла), который издатель создает и изменяет, чтобы предоставить недостающую информацию. У издателя должно быть достаточно навыков языка C++, чтобы интерпретировать функциональную подпись и предоставить недостающую информацию.

Пример информации, которую должен задать издатель, относится к использованию pointers, чтобы передать данные функциям. Указатель является местоположением в памяти, которая указывает на запуск блока данных. Чтобы передать эти данные MATLAB безопасно, издатель должен задать размер данных. Обычно поиск по функциям указывает на размер данных, возможно, как дополнительный входной параметр. Используя файл определения MATLAB, издатель задает значение, и затем MATLAB создает эквивалентную подпись функции MATLAB. Чтобы отобразить функциональные подписи, смотрите Справку Отображения для Интерфейса MATLAB к Библиотеке C++.

Чтобы сделать этот интерфейс доступным для других пользователей MATLAB, предоставьте им файл интерфейса MATLAB. Конечный пользователь помещает совместно использованный файл библиотеки на системный путь или путь во время выполнения и интерфейсный файл на пути MATLAB.

Для получения информации о вызывании функций в библиотеке смотрите, Вызывают Функции C++ от Опубликованного Интерфейса MATLAB.

Функции

clibgen.generateLibraryDefinitionСоздайте файл определения для библиотеки C++
clibgen.buildInterfaceСоздайте интерфейс к библиотеке C++ без файла определения

Пакеты

clibgen PackageСводные данные пакетов и классов, чтобы поддержать вызов функциональность библиотеки C++ из MATLAB

Темы

Системные требования

Требования для того, чтобы вызвать функции во внешних, разделяемых библиотеках C++ из MATLAB.

Шаги, чтобы опубликовать интерфейс библиотеки C++ MATLAB

Обрисуйте в общих чертах для публикации интерфейса к библиотеке C++.

Задайте интерфейс MATLAB к библиотеке C++

Как обновить определения в .mlx MATLAB файл определения.

Демонстрационный файл определения библиотеки C++

Создайте файл определения библиотеки из примера cppUseCases.hpp заголовочный файл.

Опубликуйте интерфейс к библиотеке C++ только для заголовка

Этот пример создает интерфейс MATLAB к библиотеке C++, заданной в заголовочном файле school.hpp.

Опубликуйте интерфейс к разделяемой библиотеке C++ по Windows

Этот пример создает интерфейс MATLAB к библиотеке matrixOperations Windows C ++.

Опубликуйте интерфейс к разделяемой библиотеке C++ по Linux

Этот пример создает версию Linux интерфейса MATLAB к библиотеке matrixOperations C++.

Опубликуйте модифицированный текст справки

Когда вы публикуете интерфейс, clibgen.generateLibraryDefinition функция вставляет текст по умолчанию о классах и функциях.

Поиск и устранение проблем

Ограничения к Поддержке C/C++

Функции библиотеки C/C++, не поддерживавшие в MATLAB.

Поиск и устранение проблем проблемы интерфейса C++

Информация для того, чтобы решить C++ соединяет интерфейсом с вопросами.

Ошибки, Анализирующие Заголовочные файлы на macOS

Работа вокруг для ошибок, анализирующих заголовочный файл на macOS.

Создайте ошибку из-за проверок времени компиляции

Как удалить участников C++, содержащих утверждения времени компиляции.

Для просмотра документации необходимо авторизоваться на сайте