c – ACE vs Boost vs POCO
作者:互联网
我已经和Boost C++ Libraries一起工作了很长一段时间.我非常喜欢用于网络编程的Boost Asio C++ library.然而,我被介绍给另外两个图书馆:POCO 和Adaptive Communication Environment (ACE) framework.我想知道每个图书馆的好坏.
解决方法:
正如rdbound所说,Boost具有“接近STL”的地位.因此,如果您不需要其他库,请坚持使用Boost.但是,我使用POCO是因为它对我的情况有一些好处.关于POCO IMO的好处:
>更好的线程库,尤其是Active Method实现.我也喜欢你可以设置线程优先级的事实.
>比boost :: asio更全面的网络库.然而boost :: asio也是一个非常好的库.
>包括不在Boost中的功能,例如XML和数据库接口等.
>它比Boost更集成为一个库.
>它具有干净,现代且易于理解的C代码.我发现它比大多数Boost库更容易理解(但我不是模板编程专家:)).
>它可以在很多平台上使用.
POCO的一些缺点是:
>它的文件有限.这有点抵消了源易于理解的事实.
>它的社区和用户群比Boost小得多.因此,如果您在Stack Overflow上提出一个问题,那么获得答案的机会少于Boost
>还有待观察它与新C标准的整合程度.你肯定知道它不会成为Boost的问题.
我从未使用过ACE,因此我无法对其进行评论.据我所知,人们发现POCO比ACE更现代,更易于使用.
Rahul评论的一些答案:
>我不知道多才多艺和先进. POCO线程库提供了Boost中没有的一些功能:ActiveMethod和Activity,以及ThreadPool. IMO POCO线程也更易于使用和理解,但这是一个主观问题.
> POCO网络库还支持更高级别的协议,如HTTP和SSL(也可能在boost :: asio中,但我不确定?).
>够公平的.
>集成库具有一致的编码,文档和一般“外观和感觉”的优点.
>跨平台是POCO的一个重要特征,这与Boost无关.
同样,你应该只考虑POCO它是否提供了你需要的一些功能,而不是Boost.
标签:c,boost,poco-libraries,ace 来源: https://codeday.me/bug/20190926/1820738.html