【第1章·第6节】内存操作函数/内存释放函数简介与应用举例

目录

1.mxCalloc

2.mxMalloc

3.mxRealloc

4.mxDestroyArray和mxFree


       在MEX文件的内存操作实现中,存在两类可选方案:其一为运用C语言标准库中的内存处理函数,例如malloc、calloc以及free等;其二是选用Matlab专属的内存操作接口,像mxMalloc、mxCalloc、mxFree这类函数。 若采用C语言标准的内存分配函数,内存释放的责任完全由开发者承担。一旦开发者未主动调用对应的内存释放函数(如free),就有可能引发内存泄漏问题。 而若选择Matlab提供的内存分配函数,开发者既可以在MEX文件内部通过调用mxFree函数,手动释放已分配的内存;即便开发者未进行手动释放,得益于Matlab自带的内存管理机制,那些非输出型的 mxArray变量——也就是与mexFunction函数中plhs参数无关的变量,其占用的内存也会由Matlab内存管理器自动回收。

1.mxCalloc

       mxCalloc是Matlab提供的内存分配函数,专门用于在MEX文件(Matlab与C/C++混编文件)中动态分配内存,由Matlab内存管理器托管,是MEX开发中分配与 Matlab 相关内存(如mxArray数据、辅助缓存等)的推荐方式。mxCalloc其调用方法如下:

void * mxCalloc(size_t n, size_t size);
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件算法开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值