http://blog.csdn.net/jkhere/article/details/8906274
目的:打通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,編譯成功。
結果:
注意:在調用mex之前必須先設置好編譯器,編譯器的設置很簡單,見我上篇博客,不多說。