matlab程序转化成C/C++源代码问题

qingqingdezou_lei 2014-09-03 10:38:30
我现在有一个比较复杂的matlab源代码需要转化成C++源代码,其中matlab中有好多个不同.m文件下的函数,而且有些函数的值与类型都是需要上个函数输出的参数才能运行,这个情况下如合才能转化成C++代码呢?看网上那些codegen与coder方法我都没有走通,求大神详细指导啊
...全文
8966 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
taotaonb 2016-06-26
  • 打赏
  • 举报
回复
如果楼主搞定了,应该在这里分享一下怎么做
逍遥郎1392 2016-01-19
  • 打赏
  • 举报
回复
楼主的问题解决了吗?我现在也接触到这些了,一头雾水!
banqianqingqiu_ 2015-10-15
  • 打赏
  • 举报
回复
请问楼主这个问题最后是用什么方法实现的? 我现在也遇到这样的任务,跟您的任务相似,要把matlab写的代码放到c++写的平台中,要先把matlab代码转成c++,matlab中也有好多个不同.m文件下的函数,各种愁与急,楼主?
ykk648 2015-10-15
  • 打赏
  • 举报
回复
请问楼主这个问题最后是用什么方法实现的? 我现在也遇到这样的任务,要把matlab写的代码放到c++写的平台中,要先把matlab代码转成c++的......
qingqingdezou_lei 2014-09-04
  • 打赏
  • 举报
回复
引用 5 楼 turingo 的回复:
思路上应该是用C++去调用MATLAB,参考http://blog.163.com/rongting_chen/blog/static/164906844201252354518462/
引用 楼主 qingqingdezou_lei 的回复:
我现在有一个比较复杂的matlab源代码需要转化成C++源代码,其中matlab中有好多个不同.m文件下的函数,而且有些函数的值与类型都是需要上个函数输出的参数才能运行,这个情况下如合才能转化成C++代码呢?看网上那些codegen与coder方法我都没有走通,求大神详细指导啊
这个方法我也试过了,但是有些bug实在改不掉。。。。大神,我现在在慢慢改matlab代码,让它慢慢变成可以编译成C++的,但是总有些:eml_const: This node is not constant.和某些函数未定义的错误,如何破啊
赵4老师 2014-09-03
  • 打赏
  • 举报
回复
不要做A语言代码修改为B语言代码的无用功。 也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。 只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。 即可很方便地让A、B两种语言之间协调工作。 比如: A将请求数据写到文件a.txt,写完后改名为aa.txt B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件b.txt,写完后删除aa.txt,改名为bb.txt A发现bb.txt存在时,读取其内容,读完后删除bb.txt 以上A可以替换为任何一种开发语言或开发环境,B可以替换为任何一种与A不同的开发语言或开发环境。 除非A或B不支持判断文件是否存在、文件读写和文件更名。 但是谁又能举出不支持判断文件是否存在、文件读写和文件更名的开发语言或开发环境呢? 共享临时文本文件这种进程之间的通讯方法相比其它方法的优点有很多,下面仅列出我现在能想到的: ·进程之间松耦合 ·进程可在同一台机器上,也可跨机,跨操作系统,跨硬件平台,甚至跨国。 ·方便调试和监视,只需让第三方或人工查看该临时文本文件即可。 ·方便在线开关服务,只需删除或创建该临时文本文件即可。 ·方便实现分布式和负载均衡。 ·方便队列化提供服务,而且几乎不可能发生队列满的情况(除非硬盘空间满) ·……
熊熊大叔 2014-09-03
  • 打赏
  • 举报
回复
可以参考http://www.mathworks.com/products/featured/embeddedmatlab/, 但并不是所有代码都可以转。 另外可以考虑把matlab的脚本编译成可执行文件,然后在c++里调用。
图灵狗 2014-09-03
  • 打赏
  • 举报
回复
思路上应该是用C++去调用MATLAB,参考http://blog.163.com/rongting_chen/blog/static/164906844201252354518462/
引用 楼主 qingqingdezou_lei 的回复:
我现在有一个比较复杂的matlab源代码需要转化成C++源代码,其中matlab中有好多个不同.m文件下的函数,而且有些函数的值与类型都是需要上个函数输出的参数才能运行,这个情况下如合才能转化成C++代码呢?看网上那些codegen与coder方法我都没有走通,求大神详细指导啊
qingqingdezou_lei 2014-09-03
  • 打赏
  • 举报
回复
引用 1 楼 truelance 的回复:
可以参考http://www.mathworks.com/products/featured/embeddedmatlab/, 但并不是所有代码都可以转。 另外可以考虑把matlab的脚本编译成可执行文件,然后在c++里调用。
大神,这些东西我也看到了,可是我在转化的时候出现问题了,各种改不完,愁死了,没办法了,在努力改代码中
qingqingdezou_lei 2014-09-03
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
不要做A语言代码修改为B语言代码的无用功。 也不要做用A语言代码直接调用B语言代码库这样复杂、这样容易出错的傻事。 只需让A、B语言代码的输入输出重定向到文本文件,或修改A、B语言代码让其通过文本文件输入输出。 即可很方便地让A、B两种语言之间协调工作。 比如: A将请求数据写到文件a.txt,写完后改名为aa.txt B发现aa.txt存在时,读取其内容,调用相应功能,将结果写到文件b.txt,写完后删除aa.txt,改名为bb.txt A发现bb.txt存在时,读取其内容,读完后删除bb.txt 以上A可以替换为任何一种开发语言或开发环境,B可以替换为任何一种与A不同的开发语言或开发环境。 除非A或B不支持判断文件是否存在、文件读写和文件更名。 但是谁又能举出不支持判断文件是否存在、文件读写和文件更名的开发语言或开发环境呢? 共享临时文本文件这种进程之间的通讯方法相比其它方法的优点有很多,下面仅列出我现在能想到的: ·进程之间松耦合 ·进程可在同一台机器上,也可跨机,跨操作系统,跨硬件平台,甚至跨国。 ·方便调试和监视,只需让第三方或人工查看该临时文本文件即可。 ·方便在线开关服务,只需删除或创建该临时文本文件即可。 ·方便实现分布式和负载均衡。 ·方便队列化提供服务,而且几乎不可能发生队列满的情况(除非硬盘空间满) ·……
大神,我也不想这样弄啊,这不是组长分给我任务么?你看我这需要用matlab处理一些问题,但是需要很好的移植性和可更改性,如果这文本形式的,那么我这移植性与可更改性就不好了。而且与小组其他成员的代码结合也不好结合啊。我是有苦衷的啊
相关推荐
发帖
模式及实现

5531

社区成员

C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
帖子事件
创建了帖子
2014-09-03 10:38
社区公告
暂无公告