gpt4 book ai didi

c++ - 如何用 C/C++ 以外的语言制作 COM?

转载 作者:行者123 更新时间:2023-11-30 03:10:09 25 4
gpt4 key购买 nike

我注意到 MIDL.exe 只为 C/C++ 生成头文件 (_h.h) 和 GUID 文件 (_i.c)。这有助于在 C/C++ 中创建 COM。

如果我想用 VB 或其他语言创建 COM 怎么办? IMO,我必须先用 MIDL 语言定义接口(interface),然后用 MIDL.exe 编译它。那么其他语言如何利用 MIDL.exe 的输出呢?

非常感谢。

最佳答案

VB6 和 .NET 等运行时环境将 COM 视为一等公民,不需要 midl.exe 提供的管道。 VB6 类自动成为实现 IDispatch 的 COM 组件类。 .NET 具有 [ComVisible] 等属性。他们的运行时环境实现了所需的胶水。

C++ 中没有这种胶水,您必须自己编写。或者利用像 ATL 这样的类库。然而,它确实允许超越 oleauto 的限制,例如实现从 IUnknown 派生的接口(interface)和创建自定义编码器。

关于c++ - 如何用 C/C++ 以外的语言制作 COM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458436/

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