matlab 和 C++混合混合编译及调试

1.背景

在SS算法的matlab代码中,超像素生成用的是《Efficient_Graph-Based_Image_Segmentation》的方法,作者提供的是C++代码,SS作者对源码进行修改,写了matlab和C++的接口函数mexFelzenSegmentIndex函数实现C++和matlab的混合编程。为了更好地理解源码,需要对matlab和C++进行混合调试。

2步骤

2.1在matlab中编译文件

在matlab进行编译,此处一定要有-g选项



当前目录会生成2个文件,一个是matlab可以调用的 .mexw64文件,以及在VS中用于调试的Program Debug Database (.pdb)程序


!!!没有g选项是无法进行调试的

2.2在VS中打开调试界面

打开要调试的.cpp后缀的程序


点击 调试 ——>附加到进程

!!!我用的是VS2015,其他版本的VS  “附加到进程”可能在其他的位置。


可用进程选择“matlab.exe”点击“附加”

!!!此时要保证matlab是打开的,否则是找不到“matlab.exe”进程的


在.cpp文件中设立断点

!!!不设立断点进入不到.cpp文件中


2.3调试程序

在matlab中对应位置,就可以进行VS中进行调试了



在VS中停止调试会进行到matlab的调试模式中

3参考资料

https://blog.csdn.net/shaoxiaohu1/article/details/37745215

https://blog.csdn.net/jpday/article/details/50364882


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值