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

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

Примечание

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

Чтобы экспериментировать с передачей входных параметров, создайте mexfunction.c пример, следуя инструкциям в Таблицах MEX-функции Source Кода Примеров.

Входные параметры

расширить все

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

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

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

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

Примеры

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

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