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,...)

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

Примечание

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

Примеры

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

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

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