mexAtExit (C and Fortran)

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

Синтаксис C

#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 в стандартной программе ФОРТРАН, которая вызывает mexAtExit если он не входит в возможности файла.

Внимание

В файлах MEX на C выдача исключения в ExitFcn приводит к аварийному завершению работы MATLAB.

Входные параметры

расширить все

Функция для запуска при выходе, заданная как указатель.

Выходные аргументы

расширить все

Всегда возвращает 0.

Примеры

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

См. также

mexLock, mexUnlock

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