Main Content

选择 MEX 应用程序

您可以通过 MATLAB® 命令行调用您自己的 C、C++ 或 Fortran 程序(就当它们是内置函数一样)。这些程序称为 MEX 函数。MEX 函数并不适用于所有的应用程序。MATLAB 是一种高生产率环境,尤其适用于消除像 C 或 C++ 等编译语言中需要花费大量时间的低级编程。一般情况下,请在 MATLAB 中进行编程。除非您的应用程序需要,否则请不要使用 MEX 文件。

要创建 MEX 函数,请使用 MATLAB API 编写您的程序,然后使用 mex 命令编译它。这些 API 提供以下功能:

  • 从 MEX 函数中调用 MATLAB 函数。

  • 无缝集成到 MATLAB 中,从 MATLAB 获取输入并向其返回结果。

  • 支持 MATLAB 数据类型。

C++ MEX 函数

从 MATLAB R2018a 开始,请使用这些支持 C++11 编程功能的 API 编写您的 C++ MEX 函数。这些 API 基于 matlab::data::Array 类,提供更好的类型安全性、数组边界检查并支持现代 C++ 构造以简化编码。

有关详细信息,请参阅编写可从 MATLAB(MEX 文件)调用的 C++ 函数

MATLAB R2017b 及更早版本的 C/C++ MEX 函数

如果您的 MEX 函数必须在 MATLAB R2017b 或更早版本中运行,或如果您更喜欢使用 C 语言,请使用这些库中基于 mxArray 数据结构体的函数编写源文件。

有关详细信息,请参阅编写可从 MATLAB(MEX 文件)调用的 C 函数

小心

不要将 C 矩阵 API 中的函数与 MATLAB Data API 中的函数混合使用。

Fortran MEX 函数

要编写 Fortran MEX 函数,请使用这些基于 mxArray 数据结构体的 API。

有关详细信息,请参阅编写可从 MATLAB(MEX 文件)调用的 Fortran 函数

MEX 术语

MEX 表示 MATLAB 可执行文件,它具有不同含义,如下表所示。

MEX 术语定义
源 MEX 文件C、C++ 或 Fortran 源代码文件。
二进制 MEX 文件或 MEX 函数在 MATLAB 环境中执行的动态链接子例程。
MEX APIC MEX API 和 Fortran MEX API 中的函数,用于在 MATLAB 环境中执行运算。
mex 编译脚本基于源文件创建二进制文件的 MATLAB 函数。

另请参阅

| |

相关主题