转自:
http://biancheng.dnbcw.info/c/259398.html matlab下如何调试c函数
以简单函数add为例。
// add.c
#include "mex.h" // 使用MEX文件必须包含的头文件// 执行具体工作的C函数
double add(double x,double y)
{
return x + y;
}// MEX文件接口函数
void mexFunction(
int nlhs,
mxArray *plhs[],
int nrhs,
const mxArray *prhs[]) {
double *a;
double b, c;
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
a = mxGetPr(plhs[0]);
b = *(mxGetPr(prhs[0]));
c = *(mxGetPr(prhs[1]));
*a = add(b, c);
}
#include "mex.h" // 使用MEX文件必须包含的头文件// 执行具体工作的C函数
double add(double x,double y)
{
return x + y;
}// MEX文件接口函数
void mexFunction(
int nlhs,
mxArray *plhs[],
int nrhs,
const mxArray *prhs[]) {
double *a;
double b, c;
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
a = mxGetPr(plhs[0]);
b = *(mxGetPr(prhs[0]));
c = *(mxGetPr(prhs[1]));
*a = add(b, c);
}
以上已经建立好了add.c文件啦。然后进行以下步骤:
步1、在matlab命令行 mex -setup,然后选择编译器,我们这选择microso
步1、在matlab命令行 mex -setup,然后选择编译器,我们这选择microso