Точка входа к MEX-функции Фортрана
#include "fintrf.h" subroutine mexFunction(nlhs, plhs, nrhs, prhs) integer nlhs, nrhs mwPointer plhs(*), prhs(*)
nlhs
Количество ожидаемого выхода mxArray
s
plhs
Массив указателей на ожидаемый выход mxArray
s
nrhs
Количество входа mxArray
s
prhs
Массив указателей на вход mxArray
s. Не изменяйте 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,...)
где ...
обозначает больше элементов того же формата. a,b,c...
выходные аргументы левой стороны и d,e,f...
входные параметры правой стороны. Аргументы nlhs
и nrhs
содержите количество левой стороны и аргументов правой стороны, соответственно. prhs
массив mxArray
указатели, длиной которых является nrhs
. plhs
массив, длиной которого является nlhs
, где ваша функция должна установить указатели для выхода mxArray
s.
Возможно возвратить выходное значение даже если nlhs = 0
, который соответствует возврату результата в ans
переменная.