第9章编译与接口导论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB用作服务器时的工作原理如下图所示。 当MATLAB作为DDE服务器使用时,所能选用的具体名称和它们间的层次关系如下图所示。 3.DDE中的MATLAB客户 当MATLAB以客户身份建立DDE通信时,其工作原理如下图所示。 在Excel开启的前提下,运行结果如以下两图所示。 9.3.4 ActiveX技术 1.ActiveX技术的一般性说明 2.自动化客户 3.自动化服务器 1.ActiveX技术的一般性说明 ActiveX是一种基于Microsoft Windows操作系统的组件集成协议,是各种面向对象技术的集合。 每个ActiveX都支持一个或多个赋名的界面,而界面是一组逻辑相关方法、属性和事件的组合。 MATLAB支持两种ActiveX技术,即ActiveX控件和ActiveX自动化。 MATLAB自动化客户的功能仅是MATLAB ActiveX控件功能的子集。 2.自动化客户 若需要MATLAB通过ActiveX自动化客户支持调用其他ActiveX组件,则须先查阅该ActiveX组建的相关文件,从中得到该组件的名字、该组件所采用的接口名、方法、属性和事件等。 指令actcontrol用于创建ActiveX自动化客户支持。 该指令运行后将引出指定组件名的对象默认界面。 通过该对象属性的获取和设置、方法的激活,可以改变该对象的界面和行为。 在第21行代码执行前产生如下图所示的Excel界面。 3.自动化服务器 通过MATLAB ActiveX自动化服务器,可以在指定应用程序中执行MATLAB命令,并可以与MATLAB的工作空间交换数据。 打开DOS窗口,将路径变更为exm2.exe所在目录,并运行exm2.exe,运行结果如下图所示。 9.3 应用程序接口 9.3.1 创建C语言MEX文件 9.3.2 Java接口 9.3.3 DDE技术 9.3.4 ActiveX技术 MATLAB提供应用程序接口(Application Program Interface,API)来实现与其他外部程序的沟通。 9.3.1 创建C语言MEX文件 1.MEX文件简介 2.编写MEX文件源程序 1.MEX文件简介 MEX是MATLAB和Executable两个单词的缩写。 MEX文件一般使用C或者Fortran语言编写,通过编译生成的目标文件能够被MATLAB调用执行。 MEX文件主要应用于已存在较大规模的C或者Fortran程序。 矩阵是MATLAB唯一能处理的对象,在C语言中矩阵用结构体mxArray来定义。 2.编写MEX文件源程序 编写MEX文件源程序时,要用到两类API库函数: mx-库函数,用于在C语言中创建、访问、操作和删除结构体mxArray; mex-库函数,用于与MATLAB环境进行交互。 9.3.2 Java接口 利用MATLAB的Java接口可以完成下列工作: 调用Java API类和包; 调用第三方Java类; 在MATLAB环境下创建Java对象; 通过Java语法或者MATLAB语法使用Java对象的方法; 在Java对象和MATLAB之间交互数据。 在MATLAB中创建Java对象有两种方法: 直接用Java类 用函数javaObject()创建。 9.3.3 DDE技术 1.DDE的一般性说明 2.DDE中的MATLAB服务器 3.DDE中的MATLAB客户 动态数据交换(Dynamic Data Exchange,DDE)允许各Windows应用程序间交换数据的通信机制。 Windows平台上的MATLAB作为一个应用程序,具有借助DDE与其他应用程序通信的功能。 1.DDE的一般性说明 应用程序可以借助DDE通话实现彼此间的通信。 请求建立对话的应用程序称为客户(Client) 响应对话请求的应用程序被称为服务器(Server)。 当客户应用程序创建DDE对话时,必须识别被呼叫服务器的两个DDE参数: 服务名(Service name),即被请求对 话的应用程序名; 话题(Topic),即对话主题。 由这两个参数构成了区分不同对话的惟一标识。 2.DDE中的MATLAB服务

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档