mexMakeMemoryPersistent (C and Fortran)

Make memory allocated by MATLAB software persist after MEX-function completes

C Syntax

#include "mex.h"
void mexMakeMemoryPersistent(void *ptr);

Fortran Syntax

#include "fintrf.h"
subroutine mexMakeMemoryPersistent(ptr)
mwPointer ptr



Pointer to the beginning of memory allocated by one of the MATLAB® memory allocation routines


By default, memory allocated by MATLAB is nonpersistent, so it is freed automatically when the MEX function finishes. If you want the memory to persist, call mexMakeMemoryPersistent.

    Note   If you create persistent memory, you are responsible for freeing it when the MEX function is cleared. If you do not free the memory, MATLAB leaks memory. To free memory, use mxFree. See mexAtExit to see how to register a function that gets called when the MEX function is cleared. See mexLock to see how to lock your MEX function so that it is never cleared.

Was this topic helpful?