C++ 有没有办法让Asio在没有增压的情况下工作?

C++ 有没有办法让Asio在没有增压的情况下工作?,c++,boost,boost-asio,C++,Boost,Boost Asio,我知道有一个版本的ASIO没有包含在Boost名称空间中,但即使这样ASIO也依赖于Boost,但我想知道是否有一种方法可以让ASIO在不依赖Boost的情况下工作(因为我无法将Boost包含到项目中,原因太多了)。不,我不这么认为。ASIO使用boost的时间我早就听说了。我认为它们之间的联系非常紧密。但是您可能对一种工具感兴趣,它可以让您提取要使用的库所需的boost的最小子集。还有一种非boost版本的Asio: Asio有两种变体:(非Boost)Asio和Boost.Asio 见: 非

我知道有一个版本的ASIO没有包含在Boost名称空间中,但即使这样ASIO也依赖于Boost,但我想知道是否有一种方法可以让ASIO在不依赖Boost的情况下工作(因为我无法将Boost包含到项目中,原因太多了)。

不,我不这么认为。ASIO使用boost的时间我早就听说了。我认为它们之间的联系非常紧密。但是您可能对一种工具感兴趣,它可以让您提取要使用的库所需的boost的最小子集。

还有一种非boost版本的Asio:

Asio有两种变体:(非Boost)Asio和Boost.Asio

见:

非boost asio有自己的线程位,而不是使用boost.thread,但它仍然需要boost.date\u time、boost.array、boost.utility、boost.bind、boost.shared\u ptr


没有任何版本的Asio可以在没有任何Boost依赖项的情况下工作。

最近的Asio版本可以在独立模式下没有Boost的情况下工作。此模式可能是由库的C++11支持启用的,因为它现在可以使用标准线程、期货等,而不是它们的Boost实现。您可以简单地包括ASIO,如下面所示,并享受:

#define ASIO_STANDALONE
#include <asio.hpp>
#定义ASIO#U独立
#包括

我不知道有这样一个工具存在,简直太棒了,如果可以的话,我会把这个答案提高三倍:)asio的想法总是以boost的独立形式提供的。的确如此。谷歌“think asio”或作者博客..或者你可以使用boost
NO_LIBS
defines排除非标题库。我使用的是单头asio和单头增压。有什么好抱怨的?没有什么额外的东西需要编译。但是它仍然需要大量的boost头文件,即使它不是boost的一部分,我也被这个名字愚弄了坦白说,我不知道你的目标是什么头文件。。它有自己的线程位..-1下行表决。这不是真的,asio仍然只需要头文件。分离的原因是asio已经有了一个巨大的名称空间,而添加boost只会使其更长。此外,asio的更新发布时间表与boost不同,一些人认为需要比boost更频繁地更新asio。最后,使用ASIO而不使用
boost::bind()
似乎几乎是不可能的!自从我上次使用ASIO以来,这可能已经改变了。从历史上看,ASIO肯定需要推动。现在我看不到有人提到这种依赖性……事实上,现在C++11有了lambdas boost::bind()就不需要了。TR1的大部分部分是正确的,大多数编译器已经支持它了。日期和时间我不确定是否有从它运行的选项。。我想不起来了。只是想起来了。系统是一个要摆脱的。。我记忆犹新。