Приложения C++ MEX

Создайте высокоэффективные функции MATLAB®, реализованные на современном C++

Используйте MEX C++, чтобы создать функции MATLAB, которые обеспечивают эффективность программ C++, и это может получить доступ к внешним функциям и библиотекам из MATLAB.

API C++ MEX обеспечивает эти функции:

  • Используйте современные функции программирования на C++ и объектно-ориентированные проекты.

  • Получите входные параметры от MATLAB.

  • Возвратите результаты в MATLAB.

  • Поддержите семантика копирования при записи и типы данных MATLAB.

  • Вызовите функции MATLAB от MEX-функции.

  • Объединяйтесь беспрепятственно в MATLAB.

  • Запишите ориентированные на многопотоковое исполнение многопоточные MEX-функции.

  • Выполните MEX-функции C++ из процесса.

Примечание

API C++ MEX поддерживает современные функции C++ и не совместим с API MEX C или Матричным API C. Вы не можете смешать API C++ MEX с этими API в файле MEX.

Классы C++

matlab::mex::FunctionБазовый класс для MEX-функций C++
matlab::mex::ArgumentListКонтейнер для вводов и выводов от MEX-функций C++

Из выполнения процесса

mexhostСоздайте хост-процесс для MEX-функции C++
fevalОцените MEX-функцию C++ в хост-процессе MEX
matlab.mex.MexHostХост из процесса к выполнению MEX-функции C++

Темы

Начните создавать MEX-функции C++

MEX-функции C++

Файлы MEX реализуют функции MATLAB, написанные в C++.

Создайте исходный файл C++ MEX

Вот то, как создать основную MEX-функцию C++.

Setup и файлы MEX сборки

Создайте программы C++ MEX

Создайте приложения MEX на других платформах.

Проверка собственной среды сборки

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

API C++ MEX

Используйте C++ 11 функций и Engine API для C++, чтобы реализовать MEX-функции.

Проект MEX-функций C++

Структура MEX-функции C++

Реализуйте класс, который заменяет оператор вызова функции (), чтобы создать объект функтора.

Избегайте копий массивов в MEX-функциях

Методы, чтобы не делать копии больших массивов, чтобы уменьшать использование памяти и улучшить скорость выполнения.

Управление внешние ресурсы от MEX-функций

Настройте класс MexFunction, чтобы лучше обработать ресурсы, используемые вашей MEX-функцией.

Обработка вводов и выводов

Проверяйте размер и тип входных параметров и отобразите сообщения об ошибке в MATLAB.

Отображение Вывода в окне Команды MATLAB

MEX-функции могут отобразить вывод в окне команды MATLAB.

Типы данных MATLAB в MEX-функциях

Доступ к данным во введенном, ячейке и массивах структур

Ячейка и массивы структур позволяют вам записать в содержимое массивов, не копируя целый массив.

Типы данных для передачи данных о MEX-функции

Задайте правильные типы данных, чтобы передать данные между MATLAB и MEX-функциями.

Вызовите функции MATLAB

Вызовите функции MATLAB от MEX-функций

Вызовите функции MATLAB, передающие аргументы от и возвращающиеся аргументы к MEX-функции.

Отловите исключения в MEX-функции

Отловите исключения, добавленные MEX-функция.

Выполните выражения MATLAB от MEX-функции

Выполните выражения MATLAB, чтобы создать переменные в рабочей области вызывающей стороны.

Отдельные потоки и процессы

Вызовите MATLAB от отдельных потоков в MEX-функции

MEX-функции могут вызвать MATLAB от созданных пользователями потоков с помощью Engine C++ асинхронный API.

Выполнение из процесса MEX-функций C++

Выполните MEX-функции C++ в процессах, которые являются отдельными от процесса MATLAB.

Доступ к переменным MATLAB

Установите и получите переменные MATLAB от MEX

Поместите переменные в или получите переменные из основы MATLAB и глобальных рабочих областей.

Объекты MATLAB в MEX-функциях

Передайте объекты MATLAB MEX-функциям.

Сопутствующая информация