您的位置:首页 > 编程语言 > MATLAB

matlab 调用C编译器 调试c程序

2014-04-05 00:04 274 查看
因为做实验需要用到matlab和c进行混合编程,从别人的博客里看了一些关于matlab调用C程序的方法,但是在实际做工程中还需要用到调试功能,而本人之前并没有调试过,于是一顿乱找,无果。于是找了很久文档,发现其实要用matlab调用c编译器调试c程序并不困难,几步就可以完成。

我用的开发环境是vs2010和matlab2011b

下面说下调试的步骤:

1)需要先在MATLAB中 安装mex编译器;

这个用于将c程序编译成matlab可解释的mex文件。

安装命令: mex -setup

执行后会出现下面的文字

Welcome to mex -setup. This utility will help you set up

a default compiler. For a list of supported compilers, see
http://www.mathworks.com/support/compilers/R2011b/win32.html
Please choose your compiler for building MEX-files:

Would you like mex to locate installed compilers [y]/n?

输入y,回车。

出现

Select a compiler:

[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2011b\sys\lcc

[2] Microsoft Visual C++ 2010 in D:\Program Files\Microsoft Visual Studio 10.0

[0] None

Compiler:

因为要使用vs2010的环境进行调试,果断选择第二个编译器,然后确认安装即可。

2) c程序的编译:

使用命令 mex *.c -g

其中 *.c 表示你要编译的文件,-g表示mex的编译参数,(使用debug模式进行编译);不需要调试的话,就不需要添加-g这个参数。

编译完成后会生成 *.mexw32(或者*.mexw64)这类文件。

3)这时候不要关闭matlab,并打开VS2010。使用vs2010中的附加到进程功能,附加的进程为matlab.exe进程。

具体操作位: 工具->附加到进程(P);在当前面板框中选择matlab.exe 进程,并点击附加按钮。

4)打开需要调试的c程序文件,注意要保持编译好的mex文件与c文件以及当前matlab执行路径在同一个路径下,否则还是不能进行调试。

打开文件并设置断点即可。

文件->打开->文件->*.c 在文件中设置断点。

5) 最后在matlab的编辑环境允许到断点所在的位置,按F11进入即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: