exponenta event banner

mexAtExit (C и 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 в подпрограмме Fortran, которая вызывает mexAtExit если он не входит в область файла.

Внимание

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

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

развернуть все

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

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

развернуть все

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

Примеры

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

См. также

mexLock, mexUnlock

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