短耳不带升压(Asio without Boost)

2019-08-31 11:31发布

短耳是开发还是从升压分开,或者是Boost.Asio的唯一版本仍在更新?

在短耳网站只讲有被利益两个版本,而短耳更往往比加速更新。 不过,该网站上的最新开发版是1.5.3,在2011年3月发布,而从2013年2月最新升压1.53版本包括短耳1.8.3,因为有1.5.3了大量的变化。

无论是短耳网站是有利于仅升压更新,恕不另行通知抛弃,或者它已移动到某个位置我还没有找到。 有谁知道确切发生了什么事?

我想问的原因是,我想从我的项目削减升压和Boost.Asio的是我目前使用的唯一Boost库。 ASIO通过本身是一个只报头库,但Boost.Asio的其他几个Boost库(系统,正则表达式,DATE_TIME),这是其他未使用的拉动。

我愿意切换到另一个重量轻套接字库,但还没有找到一个为短耳一样好,但(在低依赖的条件和使用本地台IOCP / epoll的方法)。

Answer 1:

我通过电子邮件问非升压版本保持地方和克里斯托弗Kohlhoff,笔者说,他保持它在github

https://github.com/chriskohlhoff/asio

今天看它似乎并不像1.8.3是在那里,或至少它没有被贴上所以它可能是他停止了维持该回购协议。



Answer 2:

ASIO是单独开发,然后boostified并合并到Boost.Asio的。 但是,您可能不能够在此基础上拥有和正在使用的编译器从项目中删除加速。 作为短耳1.10.0的,短耳尝试使用代替升压相当于C ++ 11个标准库。

ASIO基本上是Boost.Asio的:

  • 如果没有boost名字空间和宏观命名约定。
  • 不依赖于Boost.System和Boost.Thread为短耳代替这两个库提供自己有限的功能。

升压依赖性可能存在1.10.0之前版本短耳。 这些依赖关系常在模板介绍; 因此,当应用程序使用特定的功能可以仅发生的依赖性。 这是很容易忽视的精微细节短耳和Boost.Asio的页面,它指出:

ASIO是头文件只对于大多数应用并不需要连接反对任何Boost库。 当使用C ++ 11与最近版本的gcc,铛或MSVC的,短耳可以独立升压的通过定义用于ASIO_STANDALONE当编译。

一般来说,其特点如下介绍依赖关系:

  • 定时器取决于Boost.DateTime或Boost.Chrono。 对于短耳1.10.0及以后,C ++ 11构建将使用std::chrono将被使用。
  • read_until()使用正则表达式依赖于Boost.Regex操作。
  • Stackful协程是基于该Boost.Coroutine库。

这可能是值得考虑使用:

  • BCP提取加速的子集库项目的需求。
  • libuv ,一个C库,提供从所述本地I / O事件通知异步事件循环和抽象。 这回答这两个库进行比较。


文章来源: Asio without Boost