Точка входа в функцию 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. Изменение данных в этих mxArray только для чтенияs может привести к нежелательным побочным эффектам.
mexFunction не является стандартной программой, которую вы вызываете. Скорее, mexFunction - имя стандартной подпрограммы шлюза в Фортране, которое требуется каждой MEX-функции. Для получения дополнительной информации смотрите Компоненты файла 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,...)
где ... обозначает больше элементов того же формата. The a,b,c... являются левыми выходными аргументами и d,e,f... являются правыми входными параметрами. Аргументы nlhs и nrhs содержит количество аргументов на левой и правой сторонах, соответственно. prhs является массивом mxArray указатели, длина которых nrhs. plhs - массив, длина которого nlhs, где ваша функция должна задать указатели на выход mxArrayс.
Примечание
Можно вернуть выход значение, даже если nlhs = 0, что соответствует возвращению результата в ans переменная.