Базовый класс для функций C++ MEX
The MexFunction
класс, который вы реализуете в функциях C++ MEX, должен наследовать от matlab.mex.Function
класс. The matlab.mex.Function
класс включает доступ к Engine API для C++ и задает виртуальное operator()
функционирует, что ваш MexFunction
класс должен быть переопределен.
Пространство имен: | matlab::mex |
Включите: | mexAdapter.hpp - Включить этот файл только один раз для реализации MexFunction класс |
virtual void operator()(ArgumentList outputs, ArgumentList inputs)
Оператор вызова функции, который вы должны переопределить в MexFunction
класс. Этот оператор включает образцы вашего MexFunction
класс, вызываемый как функция.
matlab::mex::ArgumentList outputs | Набор matlab::data::Array объекты, которые возвращаются в MATLAB® |
matlab::mex::ArgumentList inputs | Набор matlab::data::Array объекты, которые передаются в MEX-функцию из MATLAB |
class MexFunction : public matlab::mex::Function { public: void operator()(matlab::mex::ArgumentList outputs, matlab::mex::ArgumentList inputs) { ... } }
std::shared_ptr<matlab::engine::MATLABEngine> getEngine()
Возвращает указатель на MATLABEngine
объект, который позволяет получить доступ к Engine API для C++.
|
Указатель на |
Вызовите MATLAB clear
функция.
std::shared_ptr<MATLABEngine> matlabPtr = getEngine(); matlabPtr->eval(matlab::engine::convertUTF8StringToUTF16String("clear"));
void mexLock()
Запрещает удаление файла MEX из памяти. Не вызывайте mexLock
или mexUnlock
из пользовательского потока.
Заблокируйте файл MEX.
mexLock();
Разблокирует файл MEX и позволяет удалить файл из памяти. Не вызывайте mexLock
или mexUnlock
из пользовательского потока.
void mexLock()
Разблокируйте файл MEX.
mexUnlock();
std::u16string getFunctionName() const
Возвращает имя MEX-функции, которое является именем исходного файла.
Получите имя файла выполняющегося в данного момента MEX-функции.
std::u16string fileName = getFunctionName();