exponenta event banner

mexFunction (C)

Точка входа в функцию C/C + + MEX, построенную с помощью C Matrix API

Синтаксис C

#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, 
  const mxArray *prhs[])

Описание

Примечание

Сведения о записи функций MEX с использованием современных функций C++ и интерфейса MATLAB Data API см. в разделе Приложения C++ MEX.

mexFunction это не рутина, которую вы вызываете. Скорее, mexFunction - имя функции шлюза в C, которое требуется каждой функции 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 переменная.

Чтобы поэкспериментировать с передающими входными аргументами, создайте mexfunction.c пример, следуя инструкциям в таблицах примеров исходного кода функции MEX.

Входные аргументы

развернуть все

Количество ожидаемых mxArray выходные аргументы, заданные как целое число.

Массив указателей на ожидаемое mxArray выходные аргументы.

Количество входов mxArrays, указано как целое число.

Массив указателей на mxArray входные аргументы. Не изменять никакие prhs значения в файле MEX. Изменение данных в этих данных только для чтения mxArrays может вызывать нежелательные побочные эффекты.

Примеры

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

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