mexhost

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

Описание

пример

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

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

пример

mh = mexhost("EnvironmentVariables",envVariables) переменная окружения наборов со значениями, заданными в envVariables для процесса.

Примеры

свернуть все

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

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

Установите значение переменной окружения envName1 к envVal1 и значение переменной envName2 к envVal2.

s = ["envName1","envVal1"
     "envName2","envVal2"];
mh = mexhost("EnvironmentVariables",s)
mh = 

  MexHost with properties:

             ProcessName: "MATLABMexHost"
       ProcessIdentifier: "19344"
               Functions: [0×0 string]
    EnvironmentVariables: "envName1"    "envVal1"
                          "envName2"    "envVal2"

Входные параметры

свернуть все

Переменные окружения и значения, заданные как n-2 массив строк. Первый столбец является именем переменной окружения, и второй столбец является значением.

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

свернуть все

Хост-процесс, возвращенный как 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