我已经使用 Matlab 编码器将一个简单的代码转换为 C++ 。但是,我的主要问题是我无法获得它的输出!如何将 emxArray_real_T 类型的输出转换为 C++ 数组并打印?
问问题
1503 次
1 回答
1
动态分配数组的 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 对应的预定义类型。例如,下面是具有未知上限的基本类型 double 的 emxArray 的定义:
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中内置数据类型和预定义类型之间对应关系的更多信息
于 2015-10-06T16:51:52.303 回答