exponenta event banner

mexFunction (Фортран)

Точка входа в функцию Fortran MEX

Синтаксис Фортрана

#include "fintrf.h"
subroutine mexFunction(nlhs, plhs, nrhs, prhs)
integer nlhs, nrhs
mwPointer plhs(*), prhs(*)

Аргументы

nlhs

Количество ожидаемых выходных данных mxArrays

plhs

Массив указателей на ожидаемый выход mxArrays

nrhs

Количество входов mxArrays

prhs

Массив указателей на вход mxArrays. Не изменять никакие prhs значения в файле MEX. Изменение данных в этих данных только для чтения mxArrays может вызывать нежелательные побочные эффекты.

Описание

mexFunction это не рутина, которую вы вызываете. Скорее, mexFunction - имя подпрограммы шлюза в Fortran, которое требуется каждой функции MEX. Дополнительные сведения см. в разделе Компоненты файла Fortran MEX. При вызове функции MEX MATLAB ® находит и загружает соответствующую функцию MEX с тем же именем. Затем MATLAB выполняет поиск символа с именемmexFunction в функции MEX. Если он находит его, он вызывает функцию MEX, используя адрес mexFunction символ. MATLAB выводит сообщение об ошибке, если не удается найти подпрограмму с именем mexFunction внутри функции MEX.

При вызове функции MEX MATLAB автоматически инициирует nlhs, plhs, nrhs, и prhs с вызывающими аргументами. В синтаксисе языка MATLAB функции имеют общую форму:

[a,b,c,...] = fun(d,e,f,...)

где ... обозначает больше элементов того же формата. a,b,c... являются левыми выходными аргументами, и d,e,f... представляют собой входные аргументы правой стороны. Аргументы nlhs и nrhs содержат количество аргументов левой и правой сторон соответственно. prhs является массивом mxArray указатели, длина которых nrhs. plhs - массив, длина которого равна nlhs, где функция должна задавать указатели для вывода mxArrays.

Примечание

Можно вернуть выходное значение, даже если nlhs = 0, что соответствует возврату результата в ans переменная.

Примеры

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

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