mexAtExit (C и Фортран)

Функция регистра, чтобы вызвать, когда MEX-функция очищается или MATLAB, останавливается

Синтаксис C

#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 отказывать.

Примеры

Смотрите эти примеры в matlabroot/extern/examples/mex:

Смотрите также

mexLock, mexUnlock

Представлено до R2006a