mexMakeArrayPersistent (C and Fortran)
Make array persist after MEX file completes
C Syntax
#include "mex.h" void mexMakeArrayPersistent(mxArray *pm);
Fortran Syntax
#include "fintrf.h" subroutine mexMakeArrayPersistent(pm) mwPointer pm
Description
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.
Warning
Do not assign an array created with the
mexMakeArrayPersistent
function to the
plhs
output argument of a MEX file.
Note
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.
Input Arguments
See Also
mexAtExit
, mxDestroyArray
,
mexLock
, mexMakeMemoryPersistent
, and the
mxCreate
* functions
Version History
Introduced before R2006a