首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可移植的C++组件设计

可移植的C++组件设计
EN

Stack Overflow用户
提问于 2011-02-27 00:04:51
回答 4查看 1.4K关注 0票数 5

我过去一直使用COM和.NET程序集来开发基于组件的系统。现在,我将处理一个跨平台的C++项目,并希望在组件和…中构建代码的结构

显然,COM和.NET不是一种选择,因为COM在任何地方都不可用,但窗口和程序集会向.NET框架添加可能在目标系统上不可用的依赖项。

我知道,由于ABI的差异,如果不重新编译,我将无法在不同的操作系统之间移动组件,但我希望以一种在源代码级别兼容的方式来编写代码。

在C++中有没有支持这种架构的系统/框架?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-02-27 04:26:37

我过去曾使用过这样的系统--我们基本上重新发明了COM。如果您对这种方法感兴趣,请查看这篇很棒的文章:http://msdn.microsoft.com/en-us/library/ms809983.aspx

票数 2
EN

Stack Overflow用户

发布于 2011-02-27 01:29:20

Mozilla套件使用一个名为XPCOM的框架。我自己从来没有用过它,但这意味着它应该像微软的COM一样但可移植。据我所知,这是唯一一个基于本机代码的进程内组件系统;如果您使用的是Java语言,那就是OSGi

如今,大多数Unix软件似乎都使用分布式组件模型,其中组件位于不同的进程中。当前流行的系统似乎是DBus;KDE3使用了一个名为DCOP的替代系统;当然,如果您想走这条路,有一个很好的老系统。

票数 2
EN

Stack Overflow用户

发布于 2011-03-04 01:39:34

如果您可以忍受Qt依赖(只有核心库,没有GUI库),那么可以看看CTK Plugin Framework

它是在Apache2.0下授权的,是一个动态的C++组件系统,其应用编程接口与OSGi几乎完全相同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5127981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档