您可以像调用内置函数一样,从 MATLAB 命令行调用您自己的 C 或 C++ 程序。这些程序称为 MEX 函数,并且函数名称为 MEX 文件名。MEX 函数并不适用于所有应用程序。MATLAB 是一种高生产率环境,尤其适用于消除编译语言中需要花费大量时间的低级编程。一般情况下,请在 MATLAB 中进行编程。除非您的应用程序需要,否则请不要使用 MEX 函数。
要创建 MEX 函数,请使用 MATLAB API 编写程序。这些库中的函数有助于在 MEX 函数和工作区之间传输数据。要选择 MATLAB API,请考虑以下几点。
MathWorks 建议您使用现代 C++ 功能创建 MEX 函数,如 MATLAB 数据 API 中定义。有关详细信息,请参阅C++ MEX 应用程序。
如果您的 MEX 函数必须在 MATLAB R2017b 或更早版本中运行,或如果您更喜欢使用 C 语言,请使用 C 矩阵 API 和 C MEX API 中的函数。这些 API 使用 MATLAB mxArray 数据结构。此页上列出的函数和主题基于 mxArray。
注意
选择来自 C 矩阵 API 或 MATLAB Data API 的函数;您不能混合使用来自这些 API 的函数。
使用 mex 函数将您的源文件编译到可执行程序中。您也可以与其他 MATLAB 用户共享 MEX 文件。
有关编写 S-Function 的信息,请参阅您的 Simulink® 文档。
要调用其他人创建的 MEX 函数,请参阅MEX 文件函数。
如果您有 C/C++ 程序并且要从该程序中调用 MATLAB 函数,请使用其中一个引擎 API。
如果您要在 C/C++ 程序中读取和写入 MATLAB 数据,请使用 用于读取 MAT 文件数据的 MATLAB C API。