mexFunction (C)

Точка входа к функции MEX C/C++ создается с Матричным API C

Синтаксис 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