matlab中的mex编译

今天需要调试一个c程序,用到的是matlab和c的混合编程,用了以前一直用过的一个调试过程(前面的博文有讲)

一直无法在断点处停止,仔细研究发现是编译方式的问题,需要调试的化,编译时必须是mex -g 而mex -O 和mex -v都是不可以的。

于是细细研究了下mex的编译常用的命令,总结如下:


-argcheck  在编译时查看matalb api函数调用是否正确

-D<name> 定义编译预处理宏,name为宏的名字

-g 编译 创建带调试信息的mex文件(如果需要进行c文件调式,就需要用这个编译)

-h 顾名思义就是help意思,跟commond中的help功能类似

-I<pathname>  把路径<pathname>加到编译器的头文件搜索路径上

-O 优化目标编译,是一种优化的编译方法,一般网上找到的代码大部分都是-O编译方式

-outdir <dirname> 指定输出目录,编译产生的所有文件将保存到给目录

-output<resultname>  指定输出文件名称,不适用系统默认的文件名

-setup 这个比较常用了设置编译器的适用,配置文件等

-v 显示编译时所用到的命令信息


另外大家要注意,matlab中大部分数据位数组,传递的时候matlab以列为主,传到c文件后为以列为主的一个一维向量。

而我们一般习惯以行为主,比如opencv中的操作,因此需要注意这点,我们可以在传入参数的时候,对数组进行转置,就不形象我们的习惯了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值