基于COM技术的MATLAB和VC实现混编

上传人:gg****m 文档编号:217458297 上传时间:2021-12-02 格式:DOC 页数:11 大小:406.54KB
返回 下载 相关 举报
基于COM技术的MATLAB和VC实现混编_第1页
第1页 / 共11页
基于COM技术的MATLAB和VC实现混编_第2页
第2页 / 共11页
基于COM技术的MATLAB和VC实现混编_第3页
第3页 / 共11页
基于COM技术的MATLAB和VC实现混编_第4页
第4页 / 共11页
基于COM技术的MATLAB和VC实现混编_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于COM技术的MATLAB和VC实现混编》由会员分享,可在线阅读,更多相关《基于COM技术的MATLAB和VC实现混编(11页珍藏版)》请在金锄头文库上搜索。

1、COM组件的语言无关性:COM规范的定义不依赖于特定的语言。例如:用Java开发的COM组件对象,可以在 C+语言中被使用。1、MATLABCOM编译器用法MATLAB COM编译器通过将M程序转为C/C+源程序,然后再调用外部C+编 译器来实现编译、生成COM组件。在使用COM编译器之前,需要保证计算机安装了 MATLAB编译器和C+编译器。(1) 运行MATLAB COM编译器,耑要输入命令 mbuild -setup(2) 之后会出现如下提示:Welcome to mbuild -setup. This utility will help you set up a default com

2、piler. For a list of supported compilers, see Please choose your compiler for building shared libraries or COM components:Would you like mbuild to locate installed compilers y/n?(是否允l午 mbuild 加载已经安装的编译器)Note:直接按Enter键即可(3) 之后会列出计算机上安装的所有编译器:Select a compiler:1 Lcc-win32 C 2.4.1 in D:MATLABINSTALlsys

3、lcc21 Microsoft Visual C+ 2010 in d:ProgramFilesMicrosoftVisualStudio 10.00 NoneNote:由于我安装的是VS2010,所以直接在MATLAB命令窗口输入2.(4) 之后会让确定所选择的编译器是否正确:Please verify your choices:Compiler: Microsoft Visual C+ 2010Location: d:ProgramFilesMicrosoftVisualStudio 10.0Are these correct y/n?Note:直接按Enter键即可(5) 执行成功后会看

4、到以下提示 Trying to update options file:C:UsersAdministratorAppDataRoamingMathWorksMATLABR2012bcompopts.bat From template:D:MATLABINSTALlbinwin32mbuildoptsmsvcl00compp.bat Done.2、用MATLAB生成COM组件MATLAB COM编译器是一个图形界面编译器。(1)先写好MATLAB Code, M文件必须是函数。 例如:这是一个绘图函数function = pls_plot ( Yresiduals )figure ();ste

5、m(Yresiduals)在MATLAB命令窗口输入deploytoolxlabel (1 Observation 1); ylabel(1 Residual); end(2) 启动MATLAB COM编译器,MATLAB R2O12bHOMELi D FrdFles-SjEi ,/OpenVariaWe Run andTmeQ Set PaNew New Open Compareimport SaveSimufcnk LavouiScrpt Data Workspace Clear WorkspacePreferences fo么 Communty Hep Request SupportPb

6、 cvadiaoj pmnrSIMUUWENVIROMM-MT呢 SOURCES C: Users Administrator Desktop mixProgramDemo MFilesMATLAB当前目录Smulnk Layout Ctear Commands Library Parallel i New to MATLAB? Watch this Video, sec Examples, or read Getting Started, deplytoolUndefined function or variable deplytool*.Namemain.m3A matlab.mat的所有

7、文件plslot.msep.m Q plsregress.mDid you Mean:人 Deploytool!Deployment Project启动COM编译器Name: emo|prj4呈名称Location: C:U5er5AdministratorDc5lctopmixProgramDcmoM_files Type:m Generic COM Component 注琶别选择措!OKCancel启动沿,出现如下的图形界面编译器,点击Add Classes按钮Generic COM ComponentGeneric COM Component5 PLSDemo.prj Q jS PLSD

8、emo.prj 沒 I容BuildBuildClassesPlace functions here that you want to access from other programs (i.e., interface functions).Add classesClasses Classl Add filesAdd classes(3)点击Add files向工程中添加M文件,如果已经把M文件所在的目录设置为了MATLAB工作目录,那么点击Add files按钮就会直接打开当前R录。或者从Current Folder而板中直接拖拽到工程中。:妇 Desktop mixProgramDemo

9、 M.FilesCurrent FolderName鬱 main.m出 matlab.mat轉 pls.m截 pis一plot.mGeneric COM ComponentCOHPLSDemo.prjpls_plotjnsep.mPLSDemo.prj Q plsregress.mClasses()Classl盪 pls.m權 plsjolotmp 11mAdd filesAdd classesBuild Packagecommand Windowpls_plot_msep(recommen.Note:因为在我的C+程序中,我只用了三个函数,所以只放了三个函数文件进去(4)设置工程编译选项和工

10、程封装选项Generic COM ComponentPLSDemo.prjcommaBuildClassesPackage()Classl 截 pls.m Q pis一plotmpls_plotjnsep.mAdd filesAdd classe-New Project. Open Project. Rename ProjectAdd ClassAdd MCRQ Build I召 Package(3* Settings(?) Help(5)这里需要注意一点! !Note: Toolboxes On Path设置页,主要用來指出编译时需要搜索哪 Toolbox.因为 MATLAB的库函数是以To

11、olbox来归类的。这里选择的Toolbox越少,编译的速度就越快, 也会减少最后生成文件的空间。我写程序的时候并不能确定知道我调用的库函数到底归属哪 一个Toolbox因此所有Toolbox我都选上了。(6)编译工程Generic COM ComponentwCDMPLSDemo.prjBuild PackageNote:这个过程可能会比较慢!(7)发布COM文件冰 PackagePackage generation finished.v Show Detail(8)创建组件命令窗口输入:mcc -I pls.m Note:此过程可能会很慢。 aCurrent Folder NameS PL

12、SDemoyi main.m 田 matlab.matpls.mQ pls plot.m C: Users AdministratorDesktop mixProgramDemo CT New to MATLAB? WatcCommand Windowplsj3lot.msep.rn deplytool Undefined functionDid you mean: deploy!ool盈 PLSDemo.prj B PLSDemo_pkg.exe Q plsregress.mA mcc 一1 pis. mName田 PLSDemoNote:执行完成后,会多出一些文件,其中红色框的三个文件是我

13、们耑要的。 (9)同样的方法,对其他几个需要用到的阑数文件进行转换争 a异 c:Current FolderName 田 PLSDemol main.m ffl matlab.mat 2)pls.mpis;plsplot.msep.m PLSDemo.prj 2 PLSDemo_pkg.exe Q plsregress.mmain.mES matlab.matmccExcludedfilesJog)pls.c pls,d1T pls.exp_ pls.exports I Zl pls.h II |Q pls.m plsjalot.m一 pls_plot_msep.mPLSDemo.prj PLSDemo.pkg.exe plsregress.mreadme.txtiolution ExplorerAdditional Dependencies3、C+调用COM组件 (1)新建一个MFC工程(2)把之前生成的几个文件,复制到当前工作FI录,并添加进来 I. IASolu

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号