基于COM技术的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文档。上传文档
查看更多
基于COM技术的MATLAB和VC实现混编

COM组件的语言无关性: COM规范的定义不依赖于特定的语言。例如:用Java开发的COM组件对象,可以在C++语言中被使用。 MATLAB COM编译器用法 MATLAB COM编译器通过将M程序转为C/C++源程序,然后再调用外部C++编译器来实现编译、生成COM组件。在使用COM编译器之前,需要保证计算机安装了MATLAB编译器和C++编译器。 (1)运行MATLAB COM编译器,需要输入命令 mbuild -setup 之后会出现如下提示: Welcome to mbuild -setup. This utility will help you set up a default compiler. For a list of supported compilers, see /support/compilers/R2012b/win32.html Please choose your compiler for building shared libraries or COM components: Would you like mbuild to locate installed compilers [y]/n? (是否允许mbuild加载已经安装的编译器) Note:直接按Enter键即可 之后会列出计算机上安装的所有编译器: Select a compiler: [1] Lcc-win32 C 2.4.1 in D:\MATLAB\INSTAL~1\sys\lcc [2] Microsoft Visual C++ 2010 in d:\ProgramFiles\MicrosoftVisualStudio10.0 [0] None Note:由于我安装的是VS2010,所以直接在MATLAB命令窗口输入2. 之后会让确定所选择的编译器是否正确: Please verify your choices: Compiler: Microsoft Visual C++ 2010 Location: d:\ProgramFiles\MicrosoftVisualStudio10.0 Are these correct [y]/n? Note:直接按Enter键即可 执行成功后会看到以下提示 Trying to update options file: C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2012b\compopts.bat From template: D:\MATLAB\INSTAL~1\bin\win32\mbuildopts\msvc100compp.bat Done . . . 用MATLAB生成COM组件 MATLAB COM编译器是一个图形界面编译器。 先写好MATLAB Code,M文件必须是函数。 例如:这是一个绘图函数 function [ ] = pls_plot( Yresiduals ) figure(); stem(Yresiduals) xlabel(Observation); ylabel(Residual); end 启动MATLAB COM编译器,在MATLAB命令窗口输入deploytool 启动后,出现如下的图形界面编译器,点击Add Classes按钮。 点击Add files向工程中添加M文件,如果已经把M文件所在的目录设置为了MATLAB工作目录,那么点击Add files按钮就会直接打开当前目录。或者从Current Folder面板中直接拖拽到工程中。 Note:因为在我的C++程序中,我只用了三个函数,所以只放了三个函数文件进去。 设置工程编译选项和工程封装选项 这里需要注意一点!!! Note:Toolboxes On Path设置页,主要用来指出编译时需要搜索哪些Toolbox.因为MATLAB的库函数是以Toolbox来归类的。这里选择的Toolbox越少,编译的速度就越快,也会减少最后生成文件的空间。我写程序的时候并不能确定知道我调用的库函数到底归属哪一个Toolbox因此所有Toolbox我都选上了。 编译工程 Note:这个过程可能会比较慢! 发布COM文件 创建组件 命令窗口输入: mcc -l pls.m Note:此过程可能会很慢。 Note:执行完成后,会多出一些文件,其中红色框的三个文件是我们需要的。 同样的方法,对其他几个需要用到的函数文件进行转换 C++调用COM组件 新建一个MFC工程 把之前生成的几个文件,复制到当前工作目录,并添加进来 添加

文档评论(0)

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

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

1亿VIP精品文档

相关文档