Make array persist after MEX file completes
#include "mex.h" void mexMakeArrayPersistent(mxArray *pm);
#include "fintrf.h" subroutine mexMakeArrayPersistent(pm) mwPointer pm
pm
Pointer to an mxArray
created by an mxCreate
*
function
By default, an mxArray
allocated by an mxCreate
*
function is not persistent. The MATLAB® memory management facility
automatically frees a nonpersistent mxArray
when
the MEX function finishes. If you want the mxArray
to
persist through multiple invocations of the MEX function, call the mexMakeArrayPersistent
function.
Do not assign an array created with the
mexMakeArrayPersistent
function to the
plhs
output argument of a MEX file.
If you create a persistent mxArray
, you are
responsible for destroying it using mxDestroyArray
when
the MEX file is cleared. If you do not destroy a persistent mxArray
, MATLAB leaks
memory. See mexAtExit
to see how to register
a function that gets called when the MEX file is cleared. See mexLock
to
see how to lock your MEX file so that it is never cleared.
mexAtExit
, mxDestroyArray
, mexLock
, mexMakeMemoryPersistent
,
and the mxCreate
* functions