Функция регистра, чтобы вызвать, когда 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, чтобы отказать.