Windows使用DLLs在二进制级共享代码。DLL不是跨语言的。 MFC引入了另外一种MFC扩展DLLs二进制共享机制。但它的使用仍受限制——只能在MFC程序中使用。
COM独立于语言。COM 规范为了实现跨语言,规定了二进制分配的内存结构。
很多COM 选择C++的原因
在内存中,COM对象的标准形式在C++虚函数中偶尔用到.但是记住,编写COM模块所用的语言是无关的,因为结果二进制代码为所有语言可用。此外,COM不是Win32特有的。从理论上讲,它可以被移植到Unix或其它操作系统。但是我好像还从来没有在Windows以外的地方听说过COM。