何时以及为什么我们需要使用COM?

Ume*_* MS 0 c++ com winapi

我想知道何时以及为何使用COM?

请告诉我在哪种情况下我需要使用com而不是普通的DLL.

era*_*ran 6

首先,值得一提的是COM是一项相当古老的技术.它远远早于.NET,它有时提供相同的功能.但是,与普通DLL相比,它具有一些优点,例如:

  1. 它没有功能界面,但是没有功能界面.您可以创建对象而不是调用导出的函数.
  2. 它支持系统安全设置,因此您可以通过Windows安全设置管理对COM类的访问.
  3. 它跨越进程边界 - COM服务器可以在用户的​​进程中,也可以在单独的进程中.
  4. 它跨越机器边界,AKA DCOM.
  5. 它跨越语言边界.COM的协议是二进制的,因此支持它的每种语言都可以使用COM组件,而不管这些组件的创建语言是什么.
  6. 有许多语言支持COM,您可以在其中轻松创建和使用COM对象.

这只是冰山一角.虽然过时了,但COM在Windows中被广泛使用.这些日子是否适合您使用它是另一回事 - 这实际上取决于您的具体需求.但如果你是一名Windows程序员,那么无论如何它都是值得熟悉的.即使你没有生产任何COM产品,你很可能会消耗掉它.

  • +1"即使你没有生产任何COM产品,你很可能会消耗掉一个." (3认同)