如何释放内存从c代码在simulink嵌入式matlab代码块万博1manbetx

2次浏览(最近30天)
你好,
我在simulink仿真中有一个嵌入式matlab代码块,可以调用c函数来分配内存并万博1manbetx进行一些计算。例如下面的代码:假设varA, varB是在C中使用memallocfun函数调用创建和分配的数据结构。这些类型是用C语言定义的。
持续的首先调用varA varB
如果isempty (firstCall)
firstCall = 1;
varA = coder.opaque(“somestruct1 *”“零”“HeaderFile”“defs.h”);
varB = coder.opaque(“somestruct2 *”“零”“HeaderFile”“defs.h”);
coder.ceval (“memallocfun”coder.ref(瓦拉),coder.ref (varB));
结束
coder.ceval (“workfun”coder.ref(瓦拉),coder.ref (varB));
这段代码可以正常工作和运行。我的问题是,在模拟完成后,我想释放由memallocfun分配的内存。我应该在StopFcn回调中这样做吗?StopFcn可以访问这里创建的持久变量吗?否则,我应该在哪里释放由C创建的内存?
谢谢!
罗德里戈

类别

了解更多有关部署、集成和支持的硬件万博1manbetx帮助中心文件交换

社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!

开始狩猎!