Как скомпилировать класс Matlab в C lib?
Происхождение этого вопроса отсюдаКак использовать «глобальную статическую» переменную в функции Matlab, вызываемой в C.
Я пытаюсь инкапсулировать «глобальную переменную» в объект. Однако я не знаю, как экспортировать класс Matlab в C ++, используяMATLAB Compiler (mcc)
Для этого я просто попробовал стандартную команду
Matlab Commandmcc -W cpplib:Vowel4 -T link:lib Vowel4.m
Matlab Scriptclassdef Vowel4
properties
x
y
end
methods
Vowel4
A
B
end
end
Сгенерированная библиотека на самом деле является автономными функциями, а не классом С ++.
Как я могу скомпилировать классы в Matlab в классы C ++?
Я искал ответ, но не нашел его.
Очевидно, что команда matlab не подходит для этого сценария. Однако я не могу найти какую-либо информацию о построении классов Matlab в классы c ++.
========================== Редактировать ======================= знак равно
Фактический код cpp выглядит следующим образом: @Alan
mclInitializeApplication(NULL, 0);
loadDataInitialize();
soundByCoefInitialize();
loadData();
mwArray F(4, 1, mxDOUBLE_CLASS);
float test[4];
for ( ;; ){
const Frame frame = controller.frame();
const FingerList fingers = frame.fingers();
if ( !fingers.empty() ){
for ( int i = 0; i < 4; i ++ ){
double v = fingers.count() > i ? (fingers[i].tipPosition().y / 50) - 2 : 0;
F(i+1,1) = v;
test[i] = v;
cout << v << ' ';
}
cout << endl;
soundByCoef(F);
}
}
Здесь matlabA () соответствует loadData (), который загружает данные, а soundByCoef (F) соответствует matlabB (), который выполняет работу в основном цикле.