关闭

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

639人阅读 评论(0) 收藏 举报
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函数
余下的与任何开发平台的任何调试步骤类似 

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1640次
    • 积分:29
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论