主要内容

mexFunction (C)

使用 C Matrix API 编译的 C/C++ MEX 函数的入口函数

C 语法

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

描述

注意

要使用现代 C++ 功能和 MATLAB Data API for C++ 编写 MEX 函数,请参阅编写可从 MATLAB(MEX 文件)调用的 C++ 函数

mexFunction 不是您调用的例程。相反,mexFunction 是每个 MEX 函数所需的 C 语言入口函数的名称。当您调用 MEX 函数时,MATLAB® 会查找并加载同名的对应 MEX 函数。然后,MATLAB 在 MEX 函数中搜索名为 mexFunction 的符号。如果找到一个这样的符号,则它使用 mexFunction 符号的地址调用 MEX 函数。如果 MATLAB 在 MEX 函数中无法找到名为 mexFunction 的例程,则显示错误消息。

当您调用 MEX 函数时,MATLAB 会自动使用调用参量植入 nlhsplhsnrhsprhs。在 MATLAB 语言的语法中,函数的一般形式为:

[a,b,c,...] = fun(d,e,f,...)

其中 ... 表示相同格式的更多项。a,b,c... 是左侧输出参量,d,e,f... 是右侧输入参量。参量 nlhsnrhs 分别包含左侧和右侧参量数目。prhs 是长度为 nrhsmxArray 指针数组。plhs 是长度为 nlhs 的数组,您的函数必须在其中为输出 mxArray 设置指针。

注意

即使 nlhs = 0,也可能返回输出值,这对应于在 ans 变量中返回结果。

要试验传递输入参量,请按照 MEX 函数源代码示例表中的说明编译 mexfunction.c 示例。

输入参数

全部展开

预期的 mxArray 输出参量的数目,指定为整数。

指向预期的 mxArray 输出参量的指针数组。

输入 mxArrays 的数目,指定为整数。

指向 mxArray 输入参量的指针的数组。不要在 MEX 文件中修改任何 prhs 值。更改这些只读 mxArrays 中的数据可能会产生不良副作用。

示例

要打开示例,请输入:

edit([fullfile(matlabroot,"extern","examples","mex","filename")]);

其中,filename 为:

版本历史记录

在 R2006a 之前推出