草庐IT

BOOST-ASIO

全部标签

windows - 当 async_write() 操作永远不会结束并且涉及一个链时会发生什么?

我知道下一个async_write()应该在前一个完成时执行(有或没有错误,但完成时)。我想知道在进行async_write()调用时,如果其中一个由于某种原因需要很长时间甚至永远不会结束(我假设这里没有像同步操作那样的超时)会发生什么。何时此操作将被视为失败?什么时候那个永远不会结束的操作最终被操作系统内部删除了?也许,是否涉及超时,我的假设是错误的?我的意思是,写操作被发送到操作系统并可能无限期地阻塞?因此处理程序永远不会被调用,下一个async_write()也永远不会被调用。注意:我假设我们在多个线程中调用run()但写操作应该按顺序发送所以我还假设写处理程序被线包裹着。感谢您

c++ - 如何在Visual Studio 2010中使用Boost

关于如何在VisualStudio中的空项目中使用Boost库的逐步说明,有什么很好的解释? 最佳答案 尽管Nate'sanswer已经相当不错了,但我将根据要求针对VisualStudio2010对其进行更具体的扩展,并在需要外部库的各种可选组件中包括有关编译的信息。如果您仅使用header库,那么您要做的就是取消存档boost下载并设置环境变量。下面的说明仅为VisualStudio设置环境变量,而不是整个系统。请注意,您只需要做一次。将最新版本的boost(截至撰写时为1.47.0)解压缩到您选择的目录中(例如C:\boost

windows - 在 Windows 上,ICMPv6 回显回复缺少 IP header

当使用ASIO-BOOST库接收ICMPv6回显回复时,我在Windows7上遇到了一个奇怪的问题。收到的数据缺少IPheader,它只有ICMPheader和有效负载。下面是更多详细信息://IPv4replyBuffer.consume(replyBuffer.size());mySocketIPv4->async_receive(replyBuffer.prepare(65575),..);--packetreceived--replyBuffer.commit(length);std::istreamistr(&replyBuffer);icmp_headericmp_hdr;

c++ - Windows 上 QT Creator 中未定义的对 boost 库的引用

我正在尝试在Windows上运行我在LinuxUbuntu上开发的QT项目。不幸的是,我无法管理它以正确链接boost库。下面是问题的详细描述。我从https://nuwen.net/mingw.html下载了MinGW,版本13.5,这样gcc版本5.3.0与QT的MinGW版本相匹配。选择这个版本的MinGW的原因是它包含用于压缩的boost库,例如zlib。从命令行我编译并运行我的程序没有任何问题:g++-std=c++11-w-IC:/MinGW/include-LC:/MinGW/libbAya.cppA.oB.oC.o-obaya-lboost_iostreams-lz-l

c++ - 为 Windows VS2013 构建 Boost 正则表达式

我只需要非header的BoostRegex库。我在VisualStudio2013上使用Boost1_67_0。我还需要为x86和x64构建这个库。我已经完成了构建boost的步骤,但无法找到构建此库的确切方法。非常感谢任何帮助。谢谢。 最佳答案 我假设您已经启动并拥有一个b2.exe。运行b2--help应该会有帮助。我通常使用的特定命令是b2--with-regexstage。我认为默认情况下较新版本的Boost应该构建调试和发布32位和64位库,但如果没有,那么您可以尝试添加address-model=32,64命令。

c++ - 在 Winx64 中使用 Boost::asio:我卡住了,需要弄清楚如何为 x64 构建 libboost_system_xxxx.lib

不像这个问题:LinkerErrorwhilebuildingapplicationusingBoostAsioinVisualStudioC++2008Express我需要lib文件的x64版本...我什至不确定如何开始。我在这里阅读:http://www.boost.org/doc/libs/1_39_0/more/getting_started/windows.html或者,更一般地说,我如何为x64构建boost? 最佳答案 我不在Windows上,但我想在bjam调用中添加address-model=64应该可以解决问题。

c++ - 如何使用 Boost.Test 库处理整数除以零异常?

我正在使用Boost.Test针对一些旧的C数学库编写单元测试。已知的测试功能之一会引发某些指定输入的整数除以零系统异常。假设这是期望的行为,我想为这种情况编写负面测试。BOOST_REQUIRE_THROW(statement,exception);对我不起作用,因为它不是C++样式的异常(此宏在内部使用try{}catch{})。当我预计系统级别会出现故障时,正确的处理方法是什么? 最佳答案 因为它是Windows,我建议查看_set_se_translator()窗口API。它允许使用C++catch处理结构化异常。还有其他可

c++ - boost::archive::binary_oarchive = 程序崩溃?

我在使用boost::archive::binary_oarchive时遇到问题。执行程序时,我在实例化ia>>boost::serialization::make_binary_object(buffer,size)时遇到程序崩溃。使用boost::archive::text_oarchive它可以工作...#include#include#include#include#include#includeusingnamespacestd;voidsave(){size_tsize=0;std::ifstreaminfile("any_file.png",std::ios::in|st

c++ - 未解析的符号与 boost_asio/example/ssl/client.cpp

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:boost::asiossllinkingerror我遇到undefinedsymbol的问题。我的boost安装很好,因为我已经将它用于其他项目。我知道我需要安装OpenSSL,所以按以下方式安装。然后,我使用VS2010命令提示符运行以下命令,并将提取的OpenSSL源(最新来自openssl站点)作为工作目录。perlConfigureVC-WIN64Ano-sharedno-idea//Idon'ttrustthis.ms\do_win64anmake-fms\ntdll.maknmake-fms\n

c++ - boost::interprocess 共享内存在 32 和 64 位进程之间

我正在尝试让boost::interprocess在32位和64位进程之间共享内存。Thisbugtrackerentry这表明这在我使用的Boost1.49中是可能的。作为测试,我尝试共享一个无符号整数。这是一个带有两个按钮的简单Qt应用程序。#defineSHARED_MEMORY_NAME"Mysharedmemory"#defineSHARED_VAR_NAME"testVar"namespacebip=boost::interprocess;voidon_createMemButton_clicked(){std::cout(SHARED_VAR_NAME)(42);std: