编译 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.,其中 extext 是由 mexext 函数返回的值。
测试该函数。arrayProduct 函数接受一个标量并将其与 1×N 矩阵相乘。像调用 MATLAB 函数一样调用 arrayProduct。
s = 5; A = [1.5, 2, 9]; B = arrayProduct(s,A)
B =
7.5000 10.0000 45.0000