草庐IT

boost_process

全部标签

c++ - 将 Boost 与 Windows 10 通用应用程序一起使用

我正在开发Windows10通用应用程序,主要针对Windows手机。尝试使用boost时出现如下错误:boost/asio/detail/impl/win_thread.ipp(48):errorC2039:'TerminateThread':isnotamemberof'`globalnamespace''据我了解,出现此问题是由于使用Windows10通用应用程序不支持的win32api进行boost。我尝试了1.58(当前官方版本)和1.59(候选版本)。有没有我遗漏的标志?您是否有任何与boost和Windows通用应用程序支持相关的信息?我创建了最小程序来重现此错误:#in

c++ - Boost.Asio 错误的本地端点

代码示例:#include"stdafx.h"#include#include#include#includeint_tmain(intargc,_TCHAR*argv[]){boost::asio::io_serviceservice;autosock_=newboost::asio::basic_stream_socket(service);if(sock_){try{boost::asio::ip::address_v4ipa=boost::asio::ip::address_v4::from_string(argv[1]);boost::asio::ip::basic_endp

c++ - 如何将 Boost::shared_ptr<T> 暴露给 Tcl + SWIG 接口(interface)文件?

我想使用SWIG将boost::shared_Ptr暴露给Tcl层。但目前我不知道我可以公开这个。我发现SWIG/Lib文件夹包含shared_ptr.i的接口(interface)文件。但是在内容中我发现不能直接使用。它必须包含在“boost_shared_ptr.i”之后。但是在“SWIG/Lib/tcl”文件夹中没有像boost_shared_ptr.i这样的东西,但我们有类似的接口(interface),我可以将其包含在Java中。 最佳答案 当我上次尝试时,所有SWIG都没有对boost/shared_ptr提供很好的支持

c++ - 使用 boost.spirit 2 存储表达式的行号

我正计划使用Boost.Spirit2进行脚本转换实用程序(用于扩展诊断信息)。虽然支持解析错误的行信息等,但我如何使用Qi存储成功解析表达式的行号? 最佳答案 根据邮件列表,Spirit.Classicpositionaliterators也可以与Spirit2一起使用。还有一篇关于iter_pos-parser的文章在Spirit-博客上。我会在有时间测试时更新。 关于c++-使用boost.spirit2存储表达式的行号,我们在StackOverflow上找到一个类似的问题:

c++ - boost gzip 解压缩字节数组

我实现了文件的gzip/zlib解压缩,如他们在boost站点上的示例所示。voidCompressionUtils::Inflate(std::ifstream&inputFile,std::ofstream&outputFile){boost::iostreams::filtering_streambufin;in.push(boost::iostreams::gzip_decompressor());in.push(inputFile);boost::iostreams::copy(in,outputFile);}这很好用。我还从套接字中读取数据,该套接字是从也被压缩的基于休息的

c++ boost::thread 在主线程上执行代码?

是否有可能在调用boost::thread运行一些指令后返回到主线程?我的代码基于前摄器模式,但是某个函数可能需要一些时间,所以为了不阻塞整个程序,我创建了一个线程来运行这个函数。当这个函数结束时,我需要调用另一个函数,但它必须在主线程上运行。我有一个连接池,它不是线程安全的,我真的很想避免互斥锁。有没有一种稳定的方法可以在主线程上运行一个函数(在另一个线程上调用)?就像在ObjectiveC中一样performSelectorOnMaintThread 最佳答案 如果你想让一个函数在主线程中运行,你将不得不实现某种类型的消息传递系

c++ - 如何告诉 Boost.Test 在第一个失败的测试用例上停止?

我在几个测试套件中订购了许多Boost测试用例。有些测试用例有一个,有些不止一个检查。然而,当执行所有测试时,它们都会被执行——不管有多少失败或通过。我知道,我可以通过使用BOOST_REQUIRE而不是BOOST_CHECK来停止执行一个测试用例并进行多次检查。但这不是我想要的。在第一个测试用例失败后,如何告诉Boost停止整个执行?与运行时解决方案(即运行时参数)相比,我更喜欢编译解决方案(例如,使用全局夹具实现)。 最佳答案 BOOST_REQUIRE将停止测试套件中的当前测试用例,但继续进行其他测试。当您要求“编译解决方案”

c++ - BOOST_BINARY 宏如何解析空格?

考虑以下代码。intvalue1=BOOST_BINARY(100111000011110);有人可以解释一下BOOST_BINARY如何计算那里的int值吗? 最佳答案 这非常非常复杂。这个BOOST库使用由其他宏构造的宏。我将向您展示一些预处理器编程的简化示例:简化的问题:如何让宏在rest的开头添加0或1-就像这个例子:CAT(01)-->01CAT(1100)-->1100所以-不知何故,必须按顺序将两个参数放在它们之间。好吧,我这样做了://startpoint-thisisourdesiredformat#defineC

c++ - 如何使用 -g 调试标志编译 boost?

我想重新编译我们的boost库,但启用了-g调试标志。我一直在阅读并看到我们使用jam构建了boost。虽然我非常了解make,但jam一直让我望而却步,我的挫败感越来越大。 最佳答案 对不起。我知道回答你自己的问题是令人反感的,但我在发帖后不久就弄明白了。cxxflags和cflags属性是我需要使用的,如下所述:http://www.boost.org/boost-build2/doc/html/bbv2/overview/invocation.html在属性部分下。 关于c++-如

c++ - 我应该如何访问 Boost SHA1 哈希?

我想使用boost::uuids::detail::sha1为大型二进制blob创建哈希。参见:boostuuidsha1sha1位于detail命名空间中,因此不应“依赖”。如何在不实例化detail中的对象的情况下为我的blob创建SHA1哈希? 最佳答案 您的选择是:使用boost::uuids::detail::sha1,如果它在未来的版本中发生变化,请及时处理。找到sha1的另一个实现(例如,在Crypto++中),并使用它。 关于c++-我应该如何访问BoostSHA1哈希?