Сохранение массива после завершения работы 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* функции