代码之家  ›  专栏  ›  技术社区  ›  JayMcClellan

什么开源COM实现可以在嵌入式系统上工作?[关闭]

  •  1
  • JayMcClellan  · 技术社区  · 15 年前

    我考虑在一个嵌入式的(非Windows)系统中使用COM接口,它有一个有限的C++编译器,我在寻找一个使用简单C++的开源COM实现。特别是很少或根本没有使用模板,也没有使用异常(是的,我知道COM不使用异常,但是实现可以在内部使用它们)。

    在这一点上,我主要寻找C++核心定义的所有核心COM类型,即InEngess、IDISPoT、变体等。此外,还有一些智能指针、BSTR的辅助类等。对于实现QueryInterface和IDISPAPT的一些支持级别可能不错,但我自己也可以这样做。我想找一个ITypeInfo实现,而DCOM的嵌入式实现会很有吸引力。

    3 回复  |  直到 15 年前
        1
  •  2
  •   ajanicij    15 年前

    几年前,我曾考虑开始一个COM/DCOM的自由/开源实现,但没有取得任何进展,主要是因为我认为这对开源社区的任何人都不感兴趣。软件公司(softwareag)有一个专有的实现(称为EntireX DCOM),我认为您对此不感兴趣。

    至于开源项目,除了Samba和Wine的实现以及Mozilla中的XPCOM之外,还有很多 OpenCOM . 他们把密码贴在 SourceForge .

        2
  •  1
  •   cmeerw    15 年前

    XPCOM instructions provided 现在已经很过时了。

        3
  •  1
  •   jonp    15 年前

    我建议你看看 Wine . 源代码是C,不是C++,因此避免了所有和所有的问题,完全C++支持,C++模板等等。标准接口。

    例如,源代码 LoadTypeLib ITypeInfo dlls/oleaut32/typelib.c:383 . ITypeInfo::AddressOfMember typelib.c:6742

    (看到COM用C实现有点奇怪,但COM定义了 标准正是出于这个原因,因此COM组件可以在任何语言中实现,而无需对消费语言施加限制……)