gpt4 book ai didi

.net - COM 与 native DLL

转载 作者:行者123 更新时间:2023-12-04 00:46:39 25 4
gpt4 key购买 nike

与来自 .NET 的 native DLL 相比,使用 COM 库有哪些优势。

我看到的一个原因是我不需要为 COM 库定义方法签名(与 P/Invoke 的 DllImport 相比)。还有其他的吗?

最佳答案

您可以在 COM 中创建对象模型,这是 pinvoke 无法做到的。与支持方法、属性和事件的 .NET 类非常相似。一个很好的例子是 Office 互操作命名空间(如 Microsoft.Office.Interop.Excel),在 Office 端以纯 COM 实现。

请注意,像这样的高度可用的 COM 库使用 COM Automation,它是 COM 的一个子集,旨在使不同语言之间的互操作变得非常容易。但它对您可以在方法声明中使用的类型有严格的限制。

用 C++ 编写 COM 代码并不是特别容易,尽管 ATL 和内置的 Visual Studio 向导可以提供很多帮助。请考虑改用 C++/CLI 语言。由于语言中内置的互操作性支持,上手起来要容易得多。

关于.net - COM 与 native DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com