主要内容

mexMakeArrayPersistent (C和Fortran语言)

在MEX文件完成后使数组保持

C语法

#include "mex.h" void mexMakeArrayPersistent(mxArray *pm);

Fortran语言的语法

#include "fintrf.h"子例程mexMakeArrayPersistent(pm

描述

默认情况下,一个mxArray分配的mxCreate函数不是持久的。MATLAB®内存管理工具会自动释放非持久对象mxArray当MEX函数结束时。如果你想要mxArray要通过多次调用MEX函数来持久化,可以调用mexMakeArrayPersistent函数。

警告

不要分配一个数组创建与mexMakeArrayPersistent函数plhsMEX文件的输出参数。

请注意

如果你创建一个持久的mxArray,你有责任使用它来销毁它mxDestroyArray当MEX文件被清除时。若不摧一份执着mxArray, MATLAB泄漏内存。看到mexAtExit查看如何注册一个在MEX文件被清除时被调用的函数。看到mexLock查看如何锁定MEX文件,使其永远不会被清除。

输入参数

全部展开

指针指向一个mxArray由一个mxCreate*函数,指定为mxArray *在C或mwPointer在Fortran。

另请参阅

mexAtExitmxDestroyArraymexLockmexMakeMemoryPersistent,mxCreate*函数

之前介绍过的R2006a