在MEX文件完成后使数组保持
#include "mex.h" void mexMakeArrayPersistent(mxArray *pm);
#include "fintrf.h"子例程mexMakeArrayPersistent(pm
默认情况下,一个mxArray
分配的mxCreate
函数不是持久的。MATLAB®内存管理工具会自动释放非持久对象mxArray
当MEX函数结束时。如果你想要mxArray
要通过多次调用MEX函数来持久化,可以调用mexMakeArrayPersistent
函数。
警告
不要分配一个数组创建与mexMakeArrayPersistent
函数plhs
MEX文件的输出参数。
请注意
如果你创建一个持久的mxArray
,你有责任使用它来销毁它mxDestroyArray
当MEX文件被清除时。若不摧一份执着mxArray
, MATLAB泄漏内存。看到mexAtExit
查看如何注册一个在MEX文件被清除时被调用的函数。看到mexLock
查看如何锁定MEX文件,使其永远不会被清除。
mexAtExit
,mxDestroyArray
,mexLock
,mexMakeMemoryPersistent
,mxCreate
*函数