Пример mexatexit.cpp
показывает функции обработки файла C++. Сравните его с примером кода С mexatexit.c
, который использует функцию mexAtExit
.
Пример C++ использует класс fileresource
, чтобы обработать файл открытые и близкие функции. Файл MEX вызывает деструктор для этого класса (который закрывает файл данных). Этот пример также распечатывает сообщение на экране при выполнении операций на файле данных. Однако в этом случае единственная выполняемая операция файла C является операцией записи, fprintf
.
Чтобы создать файл MEX mexatexit.cpp
, введите:
mex mexatexit.cpp
Ввод:
z = 'for the C++ MEX-file'; mexatexit(x) mexatexit(z) clear mexatexit
Writing data to file. Writing data to file.
Отобразите содержимое matlab.data
.
type matlab.data
my input string for the C++ MEX-file
Пример кода С регистрирует функцию mexAtExit
, чтобы выполнить задачи очистки (закройте файл данных), когда файл MEX очищается. Этот пример распечатывает сообщение на экране (использующий mexPrintf
) при выполнении операций fopen
файла, fprintf
и fclose
.
Чтобы создать файл MEX mexatexit.c
, введите:
mex mexatexit.c
Запустите пример.
x = 'my input string';
mexatexit(x)
Opening file matlab.data. Writing data to file.
Очистите файл MEX.
clear mexatexit
Closing file matlab.data.
Отобразите содержимое matlab.data
.
type matlab.data
my input string