mexhost

Создайте хост-процесс для MEX-функции C++

Синтаксис

mh = mexhost

Описание

пример

mh = mexhost создает хост-процесс MEX, который используется, чтобы запустить MEX-функции C++. Именем процесса по умолчанию является MATLABMexHost.

Используйте метод feval объекта matlab.mex.MexHost, возвращенного, чтобы выполнить MEX-функции C++ в хост-процессе MEX.

Примеры

свернуть все

Создайте хост-процесс и запустите MEX-функцию C++ в том процессе.

Файл MEX C++ arrayProduct.cpp содержит исходный код для функции, которая умножает массив на скалярный вход и возвращает полученный массив. Откройте этот файл и сохраните его на вашем пути MATLAB®. Создайте исходный файл C++ MEX с помощью команды mex. Следуйте инструкциям в Сборке Программы C++ MEX, чтобы настроить сборку MEX.

mex arrayProduct.cpp

Создайте хост-процесс. Функция mexhost возвращает объект matlab.mex.MexHost.

mh = mexhost;

Используйте метод feval объекта matlab.mex.MexHost оценить MEX-функцию C++ в хост-процессе.

result = feval(mh,"arrayProduct",10,[2,4,6,8])
result =

    20    40    60    80

Можно использовать объект MexHost найти идентификатор процесса созданным функцией mexhost.

mh = mexhost;
mh.ProcessIdentifier
ans = 
    "13336"

Каждый вызов mexhost создает новый процесс.

Выходные аргументы

свернуть все

Хост-процесс, возвращенный как объект matlab.mex.MexHost. Используйте этот процесс, чтобы запустить MEX-функцию C++ за пределами процесса MATLAB.

Больше о

свернуть все

Жизненный цикл процесса

MATLAB отключает процесс, когда объект, возвращенный mexhost, уничтожается. MATLAB уничтожает объект, когда любое следующее происходит.

  • Host-переменная MEX, возвращенная mexhost, выходит из осциллографа, заставляя MATLAB уничтожить объект.

  • Метод delete называется на host-переменной MEX явным образом.

  • Функция clear вызвана на host-переменной MEX и нет никаких других ссылок на объект.

  • Функция clear вызвана с любой из этих опций: clear java, clear classes или clear all.

Разгрузите MEX-функции C++

Чтобы разгрузить все MEX-функции C++ от их хост-процессов, вызовите clear mex или clear functions. Чтобы разгрузить определенную MEX-функцию C++ все хост-процессы, запускающие его, вызовите clear на имени функции. Для получения дополнительной информации смотрите, что clear функционирует и Выполнение Из процесса MEX-функций C++.

Введенный в R2019a