COM1

Windows使用DLLs(动态链接库)在二进制级共享代码,这也是Windows程序运行的关键——重用kennel32.dll user32.dll等。

但dlls是针对C接口写的,它们只能被C或理解C的调用规范的语言使用,由编程语言实现共享代码,而不是由动态链接库本身实现。这样动态链接库的使用受到了限制。

COM(组件对象模型)通过定义二进制标准解决这些问题。这是因为COM明确指出二进制模块(动态链接库和可执行文件)必须被编译为与指定的结构匹配。

这个标准也确切规定了在内存中如何组织COM对象,COM定义的二进制标准还必须独立于任何编程语言(如C++中的命名修饰)。一旦满足了条件,就可以轻松从任何编程语言中存取这些模块。由编译器所产生的二进制代码可以与标准兼容。

在内存中,com 对象的这种标准形式在C++虚函数中可用,这是许多COM代码使用C++的原因。但是注意这与模块所用的语言无关,因为二进制代码是所有语言都可用的。


COM 定义了一种二进制标准,使得任何编程语言都能存取它所编写的模块。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值