问题描述
我已经与 Boost C ++库相当一段时间。我绝对喜欢升压用于网络编程。不过,我被介绍给另外两个库:和。我想知道每个好的和坏的。
I have been working with the Boost C++ Libraries for quite some time. I absolutely love the Boost Asio C++ library for network programming. However I was introduced to two other libraries: POCO and Adaptive Communication Environment (ACE) framework. I would like to know the good and bad of each.
推荐答案
由于rdbound说,升压有一个接近STL状态。所以,如果你不这样做的需求的另一个库,坚持以提高。但是,我使用因为它有一些优势,我的情况。关于POCO海事组织好的东西:
As rdbound said, Boost has a "near STL" status. So if you don't need another library, stick to Boost. However, I use POCO because it has some advantages for my situation. The good things about POCO IMO:
-
更好的线程库,尤其是主动的方法实现。我也喜欢这样的事实,你可以设置线程的优先级。
Better thread library, especially a Active Method implementation. I also like the fact that you can set the thread priority.
多个COM prehensive网络库比升压:ASIO
。然而提高:: ASIO
也是一个很好的库。
More comprehensive network library than boost:asio
. However boost::asio
is also a very good library.
含的功能,是不是在升压,如XML和数据库接口仅举几。
Includes functionality that is not in Boost, like XML and database interface to name a few.
有更综合的升压比一个库。
It is more integrated as one library than Boost.
它拥有干净,现代的和可以理解C ++ code。我觉得更容易了解比大多数Boost库的(但我不是一个模板编程专家:))
It has clean, modern and understandable C++ code. I find it far easier to understand than most of the Boost libraries (but I am not a template programming expert :)).
它可以在很多平台上使用。
It can be used on a lot of platforms.
POCO的一些缺点是:
Some disadvantages of POCO are:
-
这限制了文档。这有点的事实,所述源是很容易理解的偏移。
It has limited documentation. This somewhat offset by the fact that the source is easy to understand.
它有一个小得多的社区和用户群比,也就是说,升压。所以,如果你把堆栈&NBSP问题;溢出例如,你得到答案的几率小于升压
It has a far smaller community and user base than, say, Boost. So if you put a question on Stack Overflow for example, your chances of getting an answer are less than for Boost
这还有待观察以及它如何将新的C ++标准进行整合。你肯定知道,它不会成为助推问题。
It remains to be seen how well it will be integrated with the new C++ standard. You know for sure that it will not be a problem for Boost.
我从来没有使用过ACE,所以我真的不能对此发表评论。从我所听到的,人们发现POCO更现代,更容易比ACE使用。
I never used ACE, so I can't really comment on it. From what I've heard, people find POCO more modern and easier to use than ACE.
由拉胡尔一些答案的评论:
Some answers to the comments by Rahul:
-
我不知道多用途和先进。该POCO线程库提供了一些功能,是不是在提升:
ActiveMethod
和活动
和线程池
。国际海事组织POCO线程也更容易使用和理解,但这是一个主观的问题。
I don't know about versatile and advanced. The POCO thread library provides some functionality that is not in Boost:
ActiveMethod
andActivity
, andThreadPool
. IMO POCO threads are also easier to use and understand, but this is a subjective matter.
POCO网络库还提供了如HTTP和SSL高层协议的支持(也可能是在的boost :: ASIO
,但我不知道?)。
POCO network library also provides support for higher level protocols like HTTP and SSL (possibly also in boost::asio
, but I am not sure?).
很公平。
综合库具有一致的编码,文件和一般的外观和感觉的优势。
Integrated library has the advantage of having consistent coding, documentation and general "look and feel".
依据跨平台是POCO的一个重要特征,这是不相对于升压的优点。
Being cross-platform is an important feature of POCO, this is not an advantage in relation to Boost.
同样,你可能应该只考虑POCO,如果它提供了一些功能,你需要,这是不是在推动作用。
Again, you should probably only consider POCO if it provides some functionality you need and that is not in Boost.
这篇关于ACE VS升压VS POCO的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!