mexFunction (Фортран)

Точка входа к 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.

Примеры

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

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

Для просмотра документации необходимо авторизоваться на сайте