Сделайте память выделенной программным обеспечением MATLAB, сохраняются после того, как MEX-функция завершается
#include "fintrf.h" subroutine mexMakeMemoryPersistent(ptr) mwPointer ptr
ptr
Указатель на начало памяти выделяется одной из стандартных программ выделения памяти MATLAB®
По умолчанию память, выделенная MATLAB, является нестойкой, таким образом, это освобождено автоматически, когда MEX-функция заканчивается. Если вы хотите, чтобы память сохранилась, вызовите mexMakeMemoryPersistent
.
Если вы создаете постоянную память, вы ответственны за освобождение ее, когда MEX-функция очищена. Если вы не освобождаете память, MATLAB пропускает память. Чтобы освободить память, используйте mxFree
. Смотрите mexAtExit
, чтобы видеть, как зарегистрировать функцию, которая называется, когда MEX-функция очищена. Смотрите mexLock
, чтобы видеть, как заблокировать вашу MEX-функцию так, чтобы это никогда не было очищено.