matlab vc com,基于COM组件的Matlab与VC++混合编程

1在VC++环境中调用MATLAB程序的主要方法[1]在VC++环境中调用MATLAB程序的主要方法有:(1)调用MATLAB引擎;(2)MATLAB编译器(MCC);(3)COM组件;三种方法中,MATLAB引擎方式,应用程序整体性能好,MATLAB引擎支持功能全面,致命缺陷是不能脱离MATLAB运行环境,不利于软件的开发。而?COM组件方法可以脱离MATLAB环境,应用程序运行效率高,利于软件的开发,具有较强优势。2MATLAB里创建COM组件[2]只要相应的MATLAB编译器和C/C++编译器都已经安装及配置成功,MATLABCOM编译器即可开始使用,并不需要特别的设置。(1)创建COM组件。在MATLAB命令窗口输入命令deploytool,打开DeploymentTool对话框。点击File->NewProject,会弹出一个新工程设置对话框,填入组件名和类名,完成之后点OK,完成新工程的创建。(2)添加文件到组件。执行完第一步后回到DeploymentTool界面。点击刚才创建的工程,单击Addfiles按钮,在随后出来的文件打开对话框中选择正确的文件名,将M文件添加到新建的组件类中。(3)编译工程。点击Build->COMOb-ject编译当前工程的COM组件,同时也完成在计算机上注册了该组件,这样它就可以像其他COM组件一样在VC++中使用了。编译完成以后在用户设置的项目目录下会产生两个子文件夹src和distrib(如图1),distrib里包含供用户最终发布使用的COM组件。(4)打包组件及MCR。为了把编译后产生的COM组件发布到其他计算机上注册。选择Component->packagecomponent命令,deploytool将会把发布该组件所需要的所有文件打包到一个和工程同名的可执行文件中。在打包组件的时候最好选择包含MCR,这样在打包文件中就会包含MCR的安装文件。打包后将会在distrib中产生名为testmaadd.exe的可执行文件,这是一个可以自解压的ZIP压缩文件。其中包含4个文件(如图2):_install.bat文件Testmyadd_1_0.dll文件Testmyadd.ctf文件MCRInstaller.exe文件把产生的testmyadd.exe文件复制到需要发布的计算机上后运行。结果将会把这四个文件解压,并执行_install.bat,查看_install.bat的内容后可以发现_install.bat将会运行MCRInstaller.exe来安装MCR,并且在系统中注册组件文件。如图1,图2所示。3基于COM混合编程实例演示[3](1)编写函数文件。创建组件,首先创建一个M函数mymagic其定义为:Functiony=mymagic(x)Y=magic(x);(2)创建COM组件。按照2介绍的方法,产生的COM组件文件名为magic_1_0.dll。(如图3)(3)创建MFC应用程序。在VisualC++中创建一个基于对话框的MFC应用程序,取名testmatlabcom,接受所有默认设置。设计对话框,增加一个GroupBox,创建一个静态文本,一个编辑框,一个按钮Create以及一个ListControl。把编辑框和列表框控件的ID分别设成DC_EDIT_SIZE和IDC_LIST_MATRIX。当单击这个按钮后,程序会运行这个函数,用户将在这个函数里调用magic组件。(4)程序的调用。导入DLL文件。将magic_1_0.dll拷贝到工程文件夹,在VC++用命令#import把magi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值