我有丰富的经验 高手, 促进wxWidgets. 。我最近发现了 波科 图书馆。有谁有使用它们的经验以及它们与 ACE、Boost 和 wxWidgets 在性能和可靠性方面的比较如何?

我对用 POCO 替换 ACE 特别感兴趣。我无法使用 VS2008 和 x64 目标来编译 ACE。我主要使用 ACE_Task,所以我想我可以用 Poco 的线程和消息队列替换它们。

POCO 中我感兴趣的其他部分是 HTTPServer、HTTPClient 和 LayeredConfiguration。这些库类似于 Boost 和 wxWidgets 中的库,但我尝试将 wxWidgets 的使用限制为 GUI 组件,并且类似的 Boost 库是......难的。

我对任何人可以分享的有关 POCO 的经验感兴趣,无论好坏。

有帮助吗?

解决方案

我时常使用 POCO 的一部分,发现它是一个非常好的库。几年前我基本上放弃了 ACE,但 POCO 包含一些相同的模式 - 任务、反应器等。我从来没有遇到过任何问题,所以我必须假设它是稳定的。

我喜欢的一些方面:

  • 它是一个集成良好的 OOP 层次结构,因此组件可以很好地协同工作。它比 Boost 之类的零碎东西更有凝聚力。

  • 源代码可用并且非常清晰。您不需要花费大量时间来理解它在做什么(ACE,至少最后我查看了源代码)或成为模板向导(Boost)。

  • 组件接近标准 C++。异常源自 std::exception;他们还没有重新发明另一个字符串类等。

  • 其全面程度令人惊讶。那里的内容比乍一看要多得多。

不足之处:

  • 这是个人喜好的问题,但作者几乎坚持每个头文件一个类的模型,因此您最终会包含很多不同的文件。

  • 有限的文档。主要是 doxygen 类型的 API 页面和几个指向源示例的 PDF。它是可用的,但考虑到库的大小,最初很难确定您是否充分利用了这些组件。

  • 如果有一个围绕它建立的活跃社区,我从未找到过。该软件包由一些欧洲公司维护,他们有一个 wiki,但我发现它不那么活跃或有用。

考虑到所有因素,缺点很小。我认为这是一个非常好的图书馆,并且肯定会推荐它。

其他提示

我从来没有使用ACE,但我用升压和波索。我真的很喜欢波科的编码风格。该包是一致的,源代码很容易阅读。他们不是模板发疯似的提升。根据我的经验,我花时间阅读如何使用升压 - 系列化包装,指针地图容器etc-和一点时间阅读如何使用波科的东西。我会说他们有良好的设计和使用的模板,在需要的地方。

在消极的一面,他们有API文档,但他们没有对你将如何使用一包的文档。对于你通常看实例源代码,或他们的测试单元的源代码。

我有HttpServer的Windows / Linux上工作,没有任何明显的错误。

因此粉笔它作为1个正面的体验。

要我来说,似乎提升有新的C ++库的最大牵引力,许多人被录取到即将到来的C ++标准不言自明的事实。

我用ACE和Boost自己,我选择他们的原因是,他们是成熟的(尤其是ACE)有一个大的强大的用户社区,这使得他们一定会得到保持和加强,我也可以得到良好的品质的专业支持。我们使用补救我们的ACE / TAO的支持,并非常满意。

由于ACE比加速更古老的图书馆,它的目标之一是支持它并没有使用这么多的前沿C ++技术的提升更奇特的(如嵌入式)平台。我使用ACE和升压的混合物,并且很高兴与该组合

我不太知道为什么你把wxWidgets的在比赛,因为它主要是一个图形用户界面库。但是,如果我不得不做一些C ++ UI项目,我将与 QT 去,主要是因为这也是一种广泛使用库(所有KDE桌面的是建立在QT的顶部),因此保持良好,并我将有机会获得一个大的用户基地问题,并支持。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top