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. Изменение данных в этих 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 переменная.

Примеры

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

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