您当前的位置: 首页 >  windows

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++-组件建模-对象建模-windows组件技术发展

插件开发 发布时间:2022-05-24 08:38:14 ,浏览量:1

文章目录
    • 1.DLL(Dynamic Link Libraries动态链接库)
    • 2.OLE(Object Linking and Embedding对象链接和嵌入)
    • 3.COM
  COM(Component Object Model组件对象模型)是微软公司于1993年提出的一种组件技术,是软件对象组件之间相互通信的一种方式和规范,它是一种平台无关、语言中立、位置透明、支持网络的中间件技术。这样一种技术的特点是更好的将任务分工,其与语言无关的特性,方便各种人才能够在统一的接口规范下,相互协助,这样接口的设计与组合就更重要和更基础。   微软下面组件发展示意图,如下所示: 在这里插入图片描述

1.DLL(Dynamic Link Libraries动态链接库)

  DLL采用动态链接,对公用的库函数,系统只有一个拷贝(位于系统目录的*.DLL文件),而且只有在应用程序真正调用时,才加载到内存。在内存中的库函数,也只有一个拷贝,可供所有运行的程序调用。当再也没有程序需要调用它时,系统会自动将其卸载,并释放其所占用的内存空间。由于应用程序是通过系统来调用动态链接库的,因此每个 DLL 都有一个类似于 main 的入口函数。 在 DLL 中,供外部应用程序调用的库函数叫做导出函数,而只是被 DLL 内部调用的库函数则叫做内部函数。导出函数在客户端叫做导入函数。

2.OLE(Object Linking and Embedding对象链接和嵌入)

  它是微软公司于1991年推出的一种简单的组件技术,它允许Windows中的程序相互之间进行合作,一个(客户)程序调用另一个(服务器)程序,以完成特定的功能。而且客户/主程序的界面不变,就似将服务器程序嵌入到客户程序中一样。

3.COM

  COM(Component Object Model组件对象模型)的核心是一组组件对象间交互的规范,它定义了组件对象如何与其使用者通过二进制接口标准进行交互,COM的接口是组件的球类型纽带。除了规范之外,COM还是一个称为COM库的实现,它包括若干API函数,用于COM程序的创建。 COM还提供定位服务的实现,可以根据系统注册表,从一个类标识(CLSID)来确定组件的位置。COM采用自己的IDL来描述组件的接口(interface),支持多接口,解决版本兼容问题。COM为所有组件定义了一个共同的父接口IUnknown。GUID 是一个 128 位整数(16 字节),COM将其用于计算机和网络的唯一标识符。除了基本规范和系统实现之外, COM 的构成还包括永久存储、绰号( moniker 智能命名 / 标记)和统一数据转移( UDT = Uniform Data Transfer )三个核心的操作系统部件。    在COM模型中,所有将CLSID传递给COM并获得实例化的对象,都被称为COM客户(程序)。最简单的实例化方式,是调用COM函数CoCreateInstance。也可以通过调用CoGetClassObject函数来为CLSID获得类工厂(Class Factory)对象的接口指针。

面向对象的接口交互方法。

  合理的脚本代码可以有效的提高工作效率,减少重复劳动。

关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.0402s