Заставьте массив сохраниться после того, как файл MEX завершится
#include "mex.h" void mexMakeArrayPersistent(mxArray *pm);
#include "fintrf.h" subroutine mexMakeArrayPersistent(pm) mwPointer 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
Функции