Когда MEX-функция возвращает управление в MATLAB®, это возвращает результаты своих вычислений в выходных аргументах — mxArray
s содержавшийся в аргументах plhs[]
левой стороны. Эти массивы должны иметь временный осциллограф, не передавайте массивы, созданные с функцией mexMakeArrayPersistent
в plhs
. MATLAB уничтожает любой mxArray
, созданный MEX-функцией, которая не находится в plhs
. MATLAB также освобождает любую память, которая была выделена в MEX-функции с помощью mxCalloc
, mxMalloc
или функций mxRealloc
.
Любые misconstructed массивы, перенесенные в конце бинарного выполнения файла MEX, имеют потенциал, чтобы вызвать ошибки памяти.
MathWorks® рекомендует, чтобы MEX-функции уничтожили свои собственные временные массивы и освободили их собственную динамически выделенную память. Более эффективно выполнить эту очистку в исходном файле MEX, чем полагаться на автоматический механизм. Для получения дополнительной информации о методах управления памятью смотрите Проблемы управления памятью.