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