Управление памятью

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

Любые misconstructed массивы, перенесенные в конце бинарного выполнения файла MEX, имеют потенциал, чтобы вызвать ошибки памяти.

MathWorks® рекомендует, чтобы MEX-функции уничтожили свои собственные временные массивы и освободили их собственную динамически выделенную память. Более эффективно выполнить эту очистку в исходном файле MEX, чем полагаться на автоматический механизм. Для получения дополнительной информации о методах управления памятью смотрите Проблемы управления памятью.

Была ли эта тема полезной?