Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asio可以在没有boost或C++11的情况下使用吗?_C++_C++11_Boost_Boost Asio - Fatal编程技术网

Asio可以在没有boost或C++11的情况下使用吗?

Asio可以在没有boost或C++11的情况下使用吗?,c++,c++11,boost,boost-asio,C++,C++11,Boost,Boost Asio,我正在寻找一些库来帮助构建一个可伸缩的tcp/ip服务器,Boost::ASIO使异步套接字I/o在我们需要的平台上均匀工作,以支持至少OSX、Linux x86和Windows,可能是Solaris,可能是HP-UX和AIX 管理层坚决反对在我们的产品中使用Boost,主要原因是它“臃肿”,以及我们过去遇到的冲突问题,因为我们的代码与客户代码静态链接,客户代码可能也在使用Boost,可能不是同一版本 该页面声称它可以在没有boost的情况下使用,尽管它非常模糊,正如后来使用C++11时所说的那

我正在寻找一些库来帮助构建一个可伸缩的tcp/ip服务器,Boost::ASIO使异步套接字I/o在我们需要的平台上均匀工作,以支持至少OSX、Linux x86和Windows,可能是Solaris,可能是HP-UX和AIX

管理层坚决反对在我们的产品中使用Boost,主要原因是它“臃肿”,以及我们过去遇到的冲突问题,因为我们的代码与客户代码静态链接,客户代码可能也在使用Boost,可能不是同一版本

该页面声称它可以在没有boost的情况下使用,尽管它非常模糊,正如后来使用C++11时所说的那样。。。Asio可以独立于Boost…使用,这似乎意味着它不能在C++03编译器上工作。我想我可以在包含标题之前简单地做一个“定义asio专有\u asio”,以避免符号冲突问题

我刚刚在本地机器上测试了VS2013,并编译了它;有人知道需要哪些C++11特性吗?我至少需要在windows上支持VS2012/2013,在linux上支持GCC4.4或4.3,在OSX上支持XCode 5.1

我猜问题在于GCC的旧版本


Asio的示例中似乎同时包含了C++03、C++11和C++14版本。在这种情况下,Asio应该与C++03一起使用,而不使用Boost的任何其他部分

大多数ASIO代码都使用boost::bind,但VC++2013包含一个std::bind,可以很好地完成此任务。相当多的Boost演示代码也使用Boost::array,但这只是一个相当普通的数组,您可以使用std::array、std::vector或任何其他可能性

警告:虽然这在我所做的工作中效果很好,但我非常确定我没有使用ASIO的所有部分,而且我更加确定我没有以各种可能的方式组合它们。因此,我可以说它是有效的,我不记得有任何问题似乎与不使用Boost的其他部分有关,但在当时,根据您使用的内容以及如何遇到我从未遇到过的问题,总是有可能的,例如。,与boost::bind一起工作的东西,至少与VC++2013的std::bind实现不一样


其他编译器对于更新版本的gcc不太确定,这不会有问题,但是4.4或4.3已经非常陈旧了。自从我在OS X上做了任何事情以来,已经有很长时间了,我不确定XCode 5.1的编译器是什么。

Asio可能正在使用或甚至是函数,它们是boost的一部分,包含在C++11 std库中。如果没有这些功能,您就不能使用asio。

是的,但是我想知道如果您完全不使用boost就使用它,需要哪些C++11功能。当您在C++03编译器上构建boost时,它似乎通过借用boost来“填充”一些缺失的特性,这非常令人困惑。这个库声称是独立的,但我发现它里面有一堆用于boost头的include。我所能做的最好的事情就是在这里向您指出,并建议构建一个示例应用程序来测试和查看。通过使用适当的定义,您可以编译一个无boost的非C++11示例。对于类似的问题,这可能会提供一些帮助。管理层希望为个人提供一个灵活的交通解决方案。但他们坚决反对汽车,因为汽车是膨胀的,因为汽车配备了轮子、座椅和挡风玻璃等等。很抱歉,您的问题不是boost。我想知道所需的最小值,而不是示例中的内容,或者是否易于使用。我们可能会为处理程序创建自定义函子类,因为没有lambda