DLL与COM(2)

来源:互联网 发布:app软件著作权登记 编辑:程序博客网 时间:2024/05/18 00:51

COM和DLL的区别:
1) dll是以函数集合的方式来调用的,是编程语言相关的,如:VC必须加上extern "C"。
而COM是以interface的方式提供给用户使用的是一种二进制的调用规范,是与编程语言无关的。
2) DLL只有DLL一种形式, 里面可任意定义函数无限制, 只能运行在本机上 ,而COM有DLL和EXE两种存在形式。
3) COM所在的DLL中必须导出四个函数:1. dllgetobjectclass, 2. dllregisterserver, 3. dllunregisterserver, 4. dllunloadnow.
Com补充:
COM解决了版本、模块化开发,所有语言使用,当然只能在WINDOWS平台上。
COM载体:DLL、EXE(不常用),OCX(用于activex控件),activex实际上是COM的一种变体,但本质上没变,当然ACTIVEX控件也能以DLL作载体。
DLL(基于名字导入的,名字就是符号,DLL有符号表的。根据约定好的名字调用函数)
接口是按照规划定义的规则集合
com可以实现互操作,DLL不行

0 0
原创粉丝点击