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