【转载】vc中单步调试mex程序方法步骤

转载 2007年10月07日 03:05:00
vc中编译,单步调试mex程序:
最好先具备如下基础:
1.调试过dll程序;
2. VC中编译过mex程序;
3 . 任意一种开发工具中调试程序的能力;

在VC中编译mex程序的配置步骤(如果已熟悉,跳过这段):
1. mex -setup, mbuild -setup 选择vc编译器(这未必需要,matlab中编译肯定会有此步的);
2. 创建DLL工程,在Project页面可以选择 MFC AppWizard(DLL);
3. 选择静态链接MFC的DLL;
4. 设定输出函数,在.def文件指定DLL的输出函数,mex程序为 mexFunction。类如如下:
; createFontBitmap.def : Declares the module parameters for the DLL.

LIBRARY "createFontBitmap"
DESCRIPTION 'createFontBitmap Windows Dynamic Link Library'

EXPORTS
; Explicit exports can go here
mexFunction

5. 环境设置
可以在头文件中include,也可以在vc环境中,我习惯于在vc环境中设置:
A.Tools--->Options--->Directories---->Show Directories for---->Include 然后选择 $MATLABROOT/EXTERN/INCLUDE;
B. Tools--->Options--->Directories---->Show Directories for---->Library ,
$MATLABROOT/LIB/WIN32/MICROSOFT/MSVC60或者是$MATLABROOT/LIB/WIN32/MICROSOFT/MSVC70,以及$MATLABROOT/EXTERN/LIB
C. Project-->Setting, 在Link页面的Object/library modules填入 libmx.lib libmex.lib 等库,具体需要哪些库根据你的程序而定,目前这个就是上面这几个库。

6. 写代码,不要我说;

7. 调试:
A. 在debug模型下进行;
B. Project--->Setting--->Executable for debug session 填入 $MATLABROOT/bin/win32/MATLAB.exe ( 其实自己运行工程(点那个go按钮(F5))也会弹出对话框让你选择,然后浏览到matlab.exe即可;
C. 加断点;
D. Go(F5),会提示说matlab不可调试,你不用管它;
E. 在新启动的MATLAB进程命令窗中中调用mex函数
余下的与任何开发平台的任何调试步骤类似 

 

VC中单步调试matlab mex程序

vc中编译,单步调试mex程序:  最好先具备如下基础:      1.调试过dll程序;      2. VC中编译过mex程序;     3 . 任意一种开发工具中调试程序的能力;   ...
  • ayw_hehe
  • ayw_hehe
  • 2011年08月24日 10:00
  • 2010

mex代码调试

1)  首先使用-g选项编译MEX文件: mex genTest.cpp  -I'D:\opencv248\opencv\build\include'-L'D:\opencv248\opencv\bu...
  • shaoxiaohu1
  • shaoxiaohu1
  • 2014年07月13日 23:22
  • 1881

vc和matlab混合调试mex文件

1.调试环境:vs2008,matlab2011a。 2.步骤: (1)在matlab中通过 ”mex -setup“通过命令为matlab指定编译器,针对本人环境就是vs2008。这里如果出现找...
  • zhang11wu4
  • zhang11wu4
  • 2012年10月24日 14:14
  • 3058

MATLAB mex -setup 使用

Would you like mex to locate installed compilers [y]/n? 的时候输入n 3、此时会列出matlab支持的编译器 [1] Intel C+...
  • Vast_Sea
  • Vast_Sea
  • 2011年08月02日 20:57
  • 9670

vc++6.0调试mex文件

看标题别以为我是抄书,如一书,毕竟网上已经一堆了,我实在不好意思做网页的搬运工,当然解决过程还是有的,在文章尾部。     环境是matlab7和vc++6,老土是老土点了,能用就行。上文提到的书本...
  • lixiangminghate
  • lixiangminghate
  • 2015年03月18日 23:28
  • 751

VC++6.0 Debug单步调试简单入门

转载地址:http://alorry.blog.163.com/blog/static/647257082011664510817/   本篇文章为大家简单介绍如何使用VC++6.0的Deb...
  • ycdhonker
  • ycdhonker
  • 2015年07月05日 10:38
  • 7929

android程序的断点单步调试步骤

用eclipse开发android程序的断点单步调试步骤如下:       1.在方法(函数)的那一行添加断点. 在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakp...
  • a172108045
  • a172108045
  • 2016年02月02日 22:58
  • 1050

mexPrintf("%4.3lf ",p[j*M+i])

#include "mex.h" /*下面这个mexFunction的目的是使MATLAB知道如何调用这个函数*/ void mexFunction( int nlhs, mxArray *plhs...
  • autumn20080101
  • autumn20080101
  • 2012年03月21日 12:21
  • 2697

在VC6中调试MEX文件

开发环境:VC++6.0 + Matlab7.0   采用MEX文件,将C语言编写的代码嵌人到Matlab中执行是Matlab与C语言混合编程的一种重要方式。但是,MEX文件不能在Matlab中像编...
  • sanqima
  • sanqima
  • 2015年10月26日 21:07
  • 540

csdn如何转载博客

1、找到要转载的文章,用chrome浏览器打开,右键选择审查元素 2、在chrome中下方的框里找到对应的内容,html脚本中找到对应的节点,选中节点,网页上被选中内容会被高亮显示,然后右键菜单选中...
  • sddxqlrjxr
  • sddxqlrjxr
  • 2015年11月15日 19:12
  • 3002
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【转载】vc中单步调试mex程序方法步骤
举报原因:
原因补充:

(最多只允许输入30个字)