Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-02-18, 23:06   #1
tolabfans
普通会员
 
注册日期: 2008-02-29
年龄: 44
帖子: 92
声望力: 19
tolabfans 正向着好的方向发展
默认 [资料]VC 连接matlab的几种方式

(1) 使用 Matlab提供的 mcc编译器
用 Matlab的mcc编译器将Matlab的源程序文件(*. m) 转变为 VC++能够识别的程序文件(*.cpp),然后添加到 VC+ +的工程中一起编译,也可以用 mcc编译器将Matlab源文件(*.m)直接编译为stand-alone程序,在附带必要的函数 库后能脱离Matlab环境独立运行。利用这种方法,转换后的c/c++文件代码冗余度大、可读性不强,执行速度也比传统c/c++代码慢,但是在提高开发效率上还是一种不错的选择。
(2) 利用ActiveX,调用Matlab服务引擎库
ActiveX控件技术是OLE技术的延伸,也是COM组件的重要组成,它代表了一种应用程序的开发策略。Matlab引擎(engine),是指一组Matlab接口函数, 通过这些接口函数,用户可以在其它编程环境中实现对 Ma t l a b的控制调用。
(3) 使用第三方软件Matcom
Matcom是Mathtools公司开发的可以将M文件转换成相同功能C++代码的工具软件,其功能比mcc命令更强大,MIDEVA是其集成调试编译环境;Matcom本身提供许多功能函数,通过必要设置,即可实现与 VC++的混合编程,同时,Matcom还提供编译转换功能,能够将Matlab函数或者代码转换为C+ +形式的DLL或者EXE文件,实现脱离Matlab环境的运行,因此,这种方法既可以保持 Matlab的优良算法和c++代码的执行效率,又可以通过转换的可执行文件,增加知识产权的保护。
(4) 使用 Matlab Visual Studio Add-in工具
Matlab Visual Studio Add-in提供了一种 VC++和Matlab直接集成的途径。它有一些新的特征:快速集成M文件到 VC++工程中,创建独立的c/c++应用程序或DLL;通过M文件创建共享库或 MEX文件;内含 Visual Matrix Viewer,调试过程中可以查看矩阵变量的值;直接修改M源文件而不是修改生成 的c/ c++文件;方便快捷地打包应用程序等。
(5) 利用C0M组件技术
COM是Component Object Module的简称, 它是一种通用的对象接口,任何语言只要按照这种接口标准, 就可以实现调用组件。Matlab的COM Builder能够帮助用户把 Matlab编写的M程序文件快速地做成COM 组件,供使用其他语言的客户端调用。该方法几乎可以调用Matlab的任何函数,而且实现简单, 通用性强,程序间无需环境切换,代码执行速度快,因此可获得较高的执行效率,也是Matlab推荐的混合编程方法。
__________________
百足氏冲锋衣万元大奖
tolabfans 当前离线   回复时引用此帖
旧 2009-03-22, 09:49   #2
joshua_gao
初级会员
 
注册日期: 2008-03-16
年龄: 43
帖子: 2
声望力: 0
joshua_gao 正向着好的方向发展
默认 回复: [资料]VC 连接matlab的几种方式

好文,谢谢!对VC和MATLAB混合编程有了一定的了解了。
joshua_gao 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[分享][资料]《MATLAB语言常用算法程序集》一书的源程序 wa2003 MATLAB论坛 26 2011-03-02 10:55
[MATLAB图像处理] 求助——如何改变程序中中值滤波的窗口大小 什么睿 MATLAB论坛 4 2009-05-14 19:14
正弦信号谐波失真系数的测试程序 ywf MATLAB论坛 2 2009-05-14 13:13
[原创]哥德巴赫猜想-张俊龙请白文章教授出示结果 龙舞山威 数学 0 2009-02-06 14:36
[求助]通过网络接口对示波器(TDS3052B)采集数据进行处理 shendagui001218 MATLAB论坛 3 2008-11-29 16:46


所有时间均为北京时间。现在的时间是 02:04


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.