学习COM仍有用吗?

时间:2010-02-04 22:39:26

标签: com

一个想要了解更多关于Windows Internals的人,阅读“Windows Internals”一书,并想进入驱动程序开发,学习COM编程是一个好主意吗?

我应该深入了多少?考虑到上述情况,只需了解基础知识或理解是否需要进一步理解。

4 个答案:

答案 0 :(得分:7)

COM对内核模式驱动程序开发也没有太多价值,但它对用户模式驱动程序可能有用。例如,DirectShow就是COM,甚至在内核模式DShow过滤器中也使用了轻量级COM模拟。

有很多代码是COM,遗留代码需要数年或数十年才能消失。但更重要的是,IMO是一个事实,当从C / C ++使用时,.NET程序集看起来像COM对象,所以我认为如果你打算继续编写C / C ++代码,知道COM 仍然有一些价值

如果您计划切换到C#,Java或其他几种语言中的一种 - 无指针(从这里的问题判断为SO)大多数程序员已采用,那么不,不值得机会成本

答案 1 :(得分:4)

COM在当前的开发中使用不多,但仍有大量的软件仍在使用它。只需了解基础知识就足够了。

答案 2 :(得分:4)

Windows设备驱动程序与COM无关。你可以安全地不知道它。

答案 3 :(得分:1)

一方面,COM似乎是Microsoft在本机和托管(.Net)代码之间进行互操作的首选方法。说实话,.Net确实能很好地处理COM。

另一方面,在Lino Tadros的不朽词语中:

  

COM就像吸烟:如果你还没有开始,你现在就不应该开始,如果你已经这样做了,是时候停止了。

就个人而言,当我需要与现有COM对象(如MSXML)交谈时,或者如果我绝对需要从本机代码与.Net程序集进行通信时,我会使用它,而非托管导出这样的东西不是一种选择,但是不认为它对新开发有用。