Я преобразовал простой код на C ++ используя Matlab кодер. Тем не менее, моя главная проблема заключается в том, что я не могу получить его вывод! Как я могу преобразовать вывод, который является типом emxArray_real_T в массив C ++ и распечатать его?
Интерфейс кода C для динамически распределенных массивов
В сгенерированном коде MATLAB представляет динамически распределяемые данные в виде
Тип структуры называется emxArray. Встраиваемая версия MATLAB
mxArray, emxArray — это семейство типов данных, специализированное для всех
базовые типы. Определение структуры emxArraytypedef struct emxArray_<baseTypedef> { <baseType> *data; int *size; int allocatedSize; int numDimensions; boolean_T canFreeData; } emxArray_<baseTypedef>;
baseTypedef — это предопределенный тип в rtwtypes.h, соответствующий
BaseType. Например, вот определение для emxArray базы
тип double с неизвестными верхними границами:typedef struct emxArray_real_T { double *data; //<<<<<<<<<<<<<<< RIGHT HERE int *size; int allocatedSize; int numDimensions; boolean_T canFreeData; } emxArray_real_T;
Предопределенный тип, соответствующий double, это real_T. Для большего
информация о соответствии между встроенными типами данных и
предопределенные типы в rtwtypes.h
Других решений пока нет …