MATLAB编译cpp文件

http://blog.csdn.net/jkhere/article/details/8906274

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

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

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

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

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

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

在matlab命令行中:

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

结果:


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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章