mexMakeArrayPersistent (C и Фортран)

Заставьте массив сохраниться после того, как файл MEX завершится

Синтаксис C

#include "mex.h"
void mexMakeArrayPersistent(mxArray *pm);

Синтаксис языка ФОРТРАН

#include "fintrf.h"
subroutine mexMakeArrayPersistent(pm)
mwPointer pm

Аргументы

pm

Указатель на mxArray, созданный mxCreate* функция

Описание

По умолчанию 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* функции

Представлено до R2006a