转自:
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,然后选择编译器,我们这选择microsoft的VC++ 6.0.
步1、在matlab命令行 mex -setup,然后选择编译器,我们这选择microsoft的VC++ 6.0.
步2、在matlab命令行输入 mex add.c -output add,这时

本文介绍了如何在MATLAB环境下调试C函数。首先创建C源文件add.c,包含MEX文件所需头文件并定义C函数。接着在MATLAB中通过mex命令编译C文件,使用-g选项生成调试版本。然后在命令行调用msdev打开Visual Studio,设置调试选项,启动MATLAB并运行函数,实现C函数的断点调试。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



