Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3300366
  • 博文数量: 754
  • 博客积分: 10132
  • 博客等级: 上将
  • 技术积分: 7780
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:36
文章分类

全部博文(754)

文章存档

2012年(3)

2011年(39)

2010年(66)

2009年(167)

2008年(479)

我的朋友

分类: C/C++

2010-07-13 17:19:33

 还是以上次的简单函数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下调试就行。^_^
 
阅读(3348) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~