Получить данные из emxArray_real_T

Я преобразовал простой код на C ++ используя Matlab кодер. Тем не менее, моя главная проблема заключается в том, что я не могу получить его вывод! Как я могу преобразовать вывод, который является типом emxArray_real_T в массив C ++ и распечатать его?

0

Решение

Интерфейс кода C для динамически распределенных массивов

В сгенерированном коде MATLAB представляет динамически распределяемые данные в виде
Тип структуры называется emxArray. Встраиваемая версия MATLAB
mxArray, emxArray — это семейство типов данных, специализированное для всех
базовые типы. Определение структуры emxArray

typedef 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

http://www.mathworks.com/help/fixedpoint/ug/c-code-interface-for-unbounded-arrays-and-structure-fields.html?refresh=true

1

Другие решения

Других решений пока нет …