主要内容

编译 C MEX 函数

注意

推荐使用 clibPublishInterfaceWorkflow 在 MATLAB® R2023a 或更高版本中编写代码以直接调用 C/C++ 库中的函数。或者,要使用现代 C++ 功能和 MATLAB Data API for C++ 编写 MEX 函数,请参阅编写可从 MATLAB(MEX 文件)调用的 C++ 函数

此示例显示如何编译示例 C MEX 函数 arrayProduct。使用此示例验证系统的 C 编译配置。有关编译 C++ MEX 函数的信息,请参阅编译 C++ MEX 程序

验证您是否安装了支持的兼容编译器。有关安装编译器的信息,请访问供应商网站。

mex -setup C

将源 MEX 文件复制到您的路径上的可写文件夹中。

copyfile(fullfile(matlabroot,'extern','examples','mex','arrayProduct.c'),'.','f')

调用 mex 命令来编译该函数。

mex arrayProduct.c -R2018a

此命令将创建文件 arrayProduct.ext,其中 ext 是由 mexext 函数返回的值。

测试该函数。arrayProduct 函数接受一个标量并将其与 1×N 矩阵相乘。像调用 MATLAB 函数一样调用 arrayProduct

s = 5; 
A = [1.5, 2, 9];
B = arrayProduct(s,A)
B =
    7.5000   10.0000   45.0000 

另请参阅

|

主题