Базовый класс для функций C++ MEX
MexFunction класс, реализованный в функциях C++ MEX, должен наследовать от matlab.mex.Function класс. matlab.mex.Function класс включает доступ к API компонента C++ Engine и определяет виртуальный 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 , который обеспечивает доступ к API компонента C++ Engine.
|
Указатель на |
Вызовите 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();