我想知道是否有可能使用COM组件的如Linux等。其他平台,COM组件可以在Windows以外的平台上使用吗?
我的问题是,COM组件应该与OS & 注册对于OS需要的东西像注册表,以便客户端可以使用COM组件。
任何人都可以阐明我的问题吗?
我想知道是否有可能使用COM组件的如Linux等。其他平台,COM组件可以在Windows以外的平台上使用吗?
我的问题是,COM组件应该与OS & 注册对于OS需要的东西像注册表,以便客户端可以使用COM组件。
任何人都可以阐明我的问题吗?
从技术上讲,COM只是一个可以在任何平台上实现的架构。例如,在注册表中查找注册的类是您可以在任何其他平台上以等效方式实现的功能。其余的内容是关于DLL和MIDL的,你可以在任何平台上工作。
实事求是地讲,COM是Windows(甚至是快死很快)。
如果你想拥有通过指定“字符串”创建COM类的能力,并希望该操作系统可以搜索正确的二进制库从以及加载,创建实际的COM类(对象),然后一些需要注册表格。除此之外,如果你只想使用COM风格的接口(从IUnknown,IDispatch等派生的接口),你可以用任何C++语言来做到这一点(只要该C++编译器的vtable实现是兼容的COM)。
最后,一些COM功能,例如进程间通信和远程调用被提供作为Windows操作系统的一部分。如果需要这些功能,您将需要实现自己的功能。
上CORBA的维基百科页面似乎有许多选择提供一些参考。选中另请参阅部分。
The wikipedia entry对于Microsoft COM在“概述”中表示“接口标准已在多个平台上实现”,但未能指定哪些接口标准。如果你正在寻找一种跨平台的方法,你可能会更喜欢XPCOM之类的东西。
理论答案是肯定的,它可能在其他平台上使用COM组件。 这是1998年在Building COM Components on UNIX上的一篇文章。然而,即使在当天,这也不是一种流行的(或谨慎的)方法。
我爱去污染。 – rwong 2010-07-03 06:03:23