matlab real_t,用matlab coder生成c++代码,出现emxArray_real_T

以下参考自:

https://ww2.mathworks.cn/help/co ... s_tid=doc_srchtitle

有一些辅助函数可以使用:

emxArray_ *emxCreate_(int rows, int cols)

创建一个指向二维 emxArray 的指针,且将数据元素初始化为零。为数据分配新内存。

emxArray_ *emxCreateND_(int numDimensions, int *size)

创建一个指向 N 维 emxArray 的指针,且将数据元素初始化为零。为数据分配新内存。

emxArray_ *emxCreateWrapper_( *data, int rows, int cols)

创建一个指向二维 emxArray 的指针。使用您提供的数据和内存,并将其打包到一个 emxArray 数据结构体中。将 canFreeData 设置为 false 以防止无意中释放用户内存。

emxArray_ *emxCreateWrapperND_( *data, int numDimensions, int *size)

创建一个指向 N 维 emxArray 的指针。使用您提供的数据和内存,并将其打包到一个 emxArray 数据结构体中。将 canFreeData 设置为 false 以防止无意中释放用户内存。

void emxInitArray_(emxArray_ **pEmxArray, int numDimensions)

为指向 emxArray 的双精度指针分配内存。

void emxDestroyArray_(emxArray_ *emxArray)

释放由 emxCreate 或 emxInitArray 函数分配的动态内存。

使用范例:

使用 emxCreate 或 emxInitArray 函数创建 emxArray

emxCreate 和 emxCreateND API 函数可创建一个 emxArray,并根据需要从堆中分配新内存。然后,您可以使用 emxArray 作为生成代码的输入或输出。以下 C 代码示例说明如何使用 emxCreate。假设您已为使用数据类型 emxArray_uint32_T 的函数 myFunction 生成源代码。

#include

#include

#include "myFunction_emxAPI.h"

#include "myFunction.h"

int main(int argc, char *argv[])

{

/* Create a 10-by-10 uint32_T emxArray */

emxArray_uint32_T *pEmx = emxCreate_uint32_T(10,10);

/* Initialize the emxArray memory, if needed */

int k = 0;

for (k = 0; k < 100; ++k) {

pEmx->data[k] = (uint32_T) k;

}

/* Use pEmx array here; */

/* Insert call to myFunction */

/* Deallocate any memory allocated in pEmx */

/* This DOES free pEmx->data */

emxDestroyArray_uint32_T(pEmx);

/* Unused */

(void)argc;

(void)argv;

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值