动态数据交换机制DDE
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种动态数据交换机制DDE
DDE是一种动态数据交换机制(Dynamic Data Exchange,DDE),是16位Windows时代实现不同应用程序之间互相交换数据和控制的技术,现在用得很少了,Windows Shell外壳打开某些文件类型还用到DDE。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,从而实现两个程序之间的数据交换。
DDE(Dynamic data exchange)的工作原理是:甲方申请一块全局内存,然后把内存指针postmessage到乙方,乙方根据收到的指针访问那块全局内存。有几个API函数是做这种事的,你在MSDN里查一下Dde 打头的函数全都出来了。因为是已经淘汰的技术,连MFC 都没对他进行封装。很难保证它同样会出现在以后的Windows API中。
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API除了有应用“应用程序接口”的意思外,还特指API 的说明文档,也称为帮助文档。
对象连接与嵌入OLE
对象连接与嵌入(Object Linking and Embedding,OLE),从16位Windows时代发展而来,建立在COM基础之上(实际上OLE是COM的第一个实际应用,OLE标准推出时,COM标准还没有定型;COM的成熟取决于OLE在技术上的成熟),最近看到的COM标准是0.9版。
OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model,COM)。
OLE直译为对象连接与嵌入,学过VB的朋友可能知道VB中有一种控件就叫OLE对象,通过这个控件就可以调用其他格式的数据。其实,OLE技术在办公中的应用就是满足用户在一个文档中加入不同格式数据的需要(如文本、图像、声音等),即解决建立复合文档问题。OO中OLE和上述概念完全一致,只不过是采用更为完善的组件技术,通过OLE 这座桥梁可以极为方便实现OO中各个功能模块的相互调用与协同工作来创建复合文档。就好象你在word中可以看到excel表格,这个表格就是ole文档,word就是ole容器。
关于OLE,业界早就在抱怨它的缓慢和庞大,对市场敏感的Microsoft需要对那些API函数提出一种新的术语以适应未来的操作系统和Internet技术。有趣的是Microsoft已经宣布OLE 不再代表对象链接与嵌入,而只是一个过去的名词而已。
Mathcad、Mathematica、Maple和Matlab四个软件各有其特点,四个软件我都用过,个人感觉Mathcad更适合做较小规模工程计算问题,所见即所得的感觉略强,对于编程意识
和基础相对比较差的人,我认为适合于使用这个软件——上手极快,一般做简单解方程、矩阵求逆,二维绘图等学一上午就够了。Matlab长于矩阵运算,区别于其他软件的是其仿真、虚拟现实和算法验证的现成模块和其精妙的矢量化编程语言,另外软件接口现在来看远远好于其他三个,图形图像处理能力也更加专业——不仅仅是绘函数图这么简单。这个庞然大物的数值计算功能我可以肯定地说根本不是其他三个软件目前能够望其项背的。而Mathematica和Maple符号运算是绝对的强项,Matlab的符号计算引擎购自Maple,速度和功能都差很多。Mathcad近几年的市场占有份额已经远远落后于Matlab,当然最近也准备有所动作,例如与PTC的并购,看看是不是能和PRO/E接合并带来些许转机。
Matlab的上手也是很快的,当时我也就看了一个多星期,常用功能就都熟悉了,后来的学习中,M语言编程更是让我感觉在这个数值计算环境下处理数据几乎无所不能。唯一让人诟病的也许就是它的大小,不过想想它能处理的事情以及个人普通PC机的限制,这件事情也就不难理解了。我想你可能是顺着Mathcad的思路去想MA TLAB造成的理解偏差。