MATLAB编译cpp文件

目的:打通MATLAB与VC之间的通道,实现用MATLAB调用VC程序,以及VC调用MATLAB程序。

上篇博客实现了将MATLAB的M文件编译成C/C++文件,exe应用程序。这篇实现MATLAB编译CPP代码。

#include "mex.h" 
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) 
{
int i; 
i=mxGetScalar(prhs[0]); 
if(i==1) 
  mexPrintf("hello,world!\n"); 
else 
  mexPrintf("大家好!\n"); 
}


上面是一个简单的C++代码,保存成helloworld.cpp。简单解释一下:

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])

是MEX的接口子程序,接口子程序是与MATLAB的接口,实现两个不同内存空间中的通信。

在matlab命令行中:

输入 mex helloworld.cpp,编译成功。

结果:

MATLAB编译cpp文件_第1张图片

注意:在调用mex之前必须先设置好编译器,编译器的设置很简单,见我上篇博客,不多说。


你可能感兴趣的:(MATLAB编译cpp文件)