Регистрация функции для вызова при сбросе функции MEX или завершении MATLAB
#include "mex.h" int mexAtExit(void (*ExitFcn)(void));
#include "fintrf.h" integer*4 mexAtExit(ExitFcn) subroutine ExitFcn()
Использовать mexAtExit регистрация функции для вызова непосредственно перед очисткой функции MEX или завершением MATLAB ® .mexAtExit дает возможность функции MEX выполнять такие задачи, как освобождение постоянной памяти и закрытие файлов. Другие типичные задачи включают закрытие потоков или сокетов.
Каждая функция MEX может одновременно регистрировать только одну активную функцию выхода. При звонке mexAtExit более одного раза, затем MATLAB использует ExitFcn из более свежего mexAtExit вызов в качестве функции выхода.
Если функция MEX заблокирована, очистить файл MEX невозможно. Поэтому при попытке очистить заблокированный MEX-файл MATLAB не вызывает ExitFcn.
В Фортране объявите ExitFcn как external в подпрограмме Fortran, которая вызывает mexAtExit если он не входит в область файла.
Внимание
В файлах C MEX, создающих исключение в ExitFcn приводит к аварийному завершению работы MATLAB.