matlab与vc混编.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab与vc混编

matlab与vc混编-概述篇- - ????????????????????????????????????? 转贴自PRIS学术论坛 第一章、概述 ... 第一章、概述  Matlab是当今世界上使用最为广泛的数学软件,它具有相当强大的数值计算、 数据处 理、系统分析、图形显示,甚至符号运算功能,是一个完整的数学平 台,在这个平台上,你 只需寥寥数语就可以完成十分复杂的功能,大大提高了 工程分析计算的效率。另外由于Matl ab的广泛使用,于是出现了为各个领域专 门使用的工具箱(即在某一研究领域常用数学工具 的函数包),这些工具箱的出现 更加促进了Matlab的流行。   Matlab强大的功能只能在它所提供的平台上才能使用,也就是说,你必需在 安装有 mat lab系统的机器上使用.m文件,这样就给工程计算带来了很大不便;特 别是,在matlab 中,使 用的行解释方式执行代码,这样大大地限制了代码执行速度。 于是人们想到,能否开发 一个 matlab与其他高级语言的接口,这样就可以把matlab 的强大功能融入各种应用程序中, 并且 通过高级语言编译器编译为2进制代码, 从而大大提高了执行速度。    于是matlab的5.1版本提供了自带的C++ Complier,同时MathTools公司也为 Matlab开发了m文件高效解释和调试IDE:MIDEVA。经过近两年的发展,matlab 5.3 中的C complier--mcc版本已经为2.0,而MIDEVA最新版本为4.5。 将matlab与C混合编程大概有如下三种方 法:   1.用Matlab的mcc将.m文件翻译为cpp源文件,然后在C编译器中调用 也可以用mcc编 译编译为stand-alone程序。   2.用Matcom(MIDEVA)将.m文件翻译为cpp代码,并编译为exe或dll 文件。   3.按照matcom的语法,在VC或BCB中直接书写matlab语句(与matlab 很相似),这也 是我最喜欢用的方法。   方法1和2/3各有利弊,1不支持图形(支持图形的库国内现在还没有D), 1对类支持 也不够,2支持绝大多数的matlab语句(包括图形),但对 于struct等的支持也有缺陷。  VC++中使用MATLAB的C++数学库和MCC生成的程序   0、简介   MATLAB5.3的提供了C/C++数学库,其中的C++数学库功能很强,使用它可以用类似MA TLAB 的语法编写C++程序,十分方便。虽然速度上仍然比手工C/C++程序慢,但是由此换来 的高 效的开发效率和可靠性往往是值得的。另外mcc命令可以将M文件转化为C或CPP文件,编 译 后可以脱离MATLAB运行 ,它们也是使用的C/C++数学库。 不过,MATLAB的数学库在开发时 似乎倾向于编译独立的可执行程序,把VC、BC只是作为一 个编译和连接的工具,而没有过多 地考虑在VC、BC的集成环境下进行开发。这给我们带来 了不便。 很多网友问起如何将MCC生 成的C++程序嵌入到VC。最近对这个问题做了一下尝试,在这里 做一个总结,请大家回去试 试。这里只介绍VC的情况,用BC的网友就自己研究研究吧,估 计是类似的。   1、设置项目编译选项 首先建立一个新的项目,或者打开一个已有的项目,然后选 择菜单: Project-Settings-C/C++ Category:Preprocessor Preprocessor definitions: Preprocessor definitions: 添加: MSVC,IBMPC,MSWIND Category: Precompiled Headers 选择: Automatic use of precompiled headers Through header: stdafx.h   2、调设置项目连接选项 首先要从下面几个函数定义文件(*.def)生成相应的导入库 文件(*.lib) libmmfile.def libmcc.def libmatlb.def libmx.def libmat.def 它们位于目 录c:\matlab\extern\include 用下面命令导出库文件: lib /def:libmmfile.def /out:libmmfile.lib /machine:ix86 lib /def:libmcc.def /out:libmcc.lib /machine:ix86 lib /def:libmatlb.def /out:libmatlb.lib /machine:ix86 lib /def:libmx.def /out:libmx.lib /mac

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档