C ++ / CLI vs COM - 哪个更好?

时间:2011-12-15 10:24:13

标签: c++ com interop c++-cli

我目前正在开发一个.NET项目,它通过使用C ++ / CLI项目与本机C ++库进行通信。但是,继续这个项目,我希望能够公开本机C ++代码的特定模块,最好是尽可能少的额外实现,同时保持可重用性和可伸缩性。

我已经对这两种用途进行了一些研究,但是无法解决哪种方法可以更好地解决这个问题。有人可以解释哪种方法最适合这种情况,如果有的话?

1 个答案:

答案 0 :(得分:2)

如果要为.NET包装本机C ++代码,请使用C ++ / CLI。对于简单的C风格的API,可以使用PInvoke。

如果要为.NET和COM客户端(如Internet Explorer,MS Office,脚本语言等)包装本机C ++代码,请使用COM。

在我看来,编写COM包装器是一项更复杂的任务。但COM大师可以有另一种观点 - 这取决于你在这些技术方面的经验。