现在的位置: 首页 > 综合 > 正文

matlab下如何调试c函数 zz

2013年09月10日 ⁄ 综合 ⁄ 共 930字 ⁄ 字号 评论关闭
转自: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);
}
以上已经建立好了add.c文件啦。然后进行以下步骤:
步1、在matlab命令行 mex -setup,然后选择编译器,我们这选择microsoft的VC++ 6.0.
步2、在matlab命令行输入 mex add.c -output add,这时会产生链接add.mexw32。
如果你是要一个调试版本,就在命令行中加上-g开关。如果你对C/C++编译器还有些参数要指定,可以将 /bin/win32/mexopts/msvc60opts.bat拷贝到当前目录下修改之,再加上-f 就行了。例如:我们这用mex add.c -g -output add,这里除了产生add.mexw32,还有add.ilk,add.pdb。
步3、在cmd下键入msdev 目录\add.mexw32。现在,vc打开了,打开你要调试的C/C++文件,这个例子中就是add.c,设置好断点,按Alt+F7,在 Debug表单的Excuitable for debug session中键入D:\Program Files\MATLAB71\bin\win32\matlab.exe(matlab的安装目录)就行了。按F5,MATLAB就被打开,好,可以工作了,在命令行输入add(1,2);然后程序就会在add.c设置了断点的地方中断。这时只有在VC下调试就行。^_^

抱歉!评论已关闭.