草庐IT

boost_process

全部标签

c++ - boost::erase_all 从字符串中删除多个字符

如果我想使用boost::erase_all从字符串中删除所有1,我可以这样做:boost::erase_all("a1b1c1","1");现在,我的字符串是“abc”。但是,如果我想使用boost::erase_all从字符串中删除所有数字(0-9),我必须为我希望删除的每个数字调用一次。boost::erase_all("a1b2c3","1");boost::erase_all("a1b2c3","2");boost::erase_all("a1b2c3","3");我想我可以使用boost::is_any_of一次删除它们,因为它可以与其他boost字符串算法一起使用,例如b

c++ - 在 boost::asio 中选择功能

我打算在我的项目中使用boost::asio库。但是哪个函数对应于本地套接字C库中的select()并不是很明显。这在asio中可用吗?或者boost是否提供了一种替代方法来确定套接字是否准备就绪? 最佳答案 Boost.Asio的高级设计基于Proactordesingpattern.因此,您不需要轮询select。相反,为异步操作提交完成处理程序,并在操作完成时调用完成处理程序。 关于c++-在boost::asio中选择功能,我们在StackOverflow上找到一个类似的问题:

c++ - 段太多,汇编错误,使用 boost::spirit

我正在为Java的一个子集编写编译器,使用boost::spirit进行词法分析和解析。在词法分析器/解析器阶段的编译期间,编译器消耗1.6GBRAM(g++(GCC)4.8.1),但这不是问题,因为有很多这台机器上的内存。然而,问题在于当编译器完成并且汇编器开始运行时(GNUassembler(GNUBinutils)2.23.52.20130604),它崩溃了;as:build/src/ast_generate.o:toomanysections(33098)/tmp/cc0ZyvKK.s:Assemblermessages:/tmp/cc0ZyvKK.s:Fatalerror:c

c++ - boost::spirit 从语义 Action 访问位置迭代器

假设我有这样的代码(供引用的行号):1:2:functionFuncName_1{3:varVar_1=3;4:varVar_2=4;5:...我想编写一个语法来解析此类文本,将所有标识符(函数和变量名)信息放入树中(utree?)。每个节点应保留:line_num、column_num和符号值。示例:root:FuncName_1(line:2,col:10)children[0]:Var_1(line:3,col:8)children[1]:Var_1(line:4,col:9)我想把它放到树中,因为我计划遍历那棵树,对于每个节点,我必须知道“上下文”:(当前节点的所有父节点)。例

c++ - 将 future 与 boost::asio 结合使用

有没有人知道使用futuresfromtheBoostthreadlibrary的例子?与BoostASIO?我有一个现有的异步库,它使用回调函数,我想为其提供一个更友好的同步接口(interface)。 最佳答案 如果不了解与现有异步库的交互,很难提供简洁的解决方案。尽管如此,这answer使用Boost.Future和Boost.Asio来实现主动对象模式。当creatingafuture,考虑检查现有的异步库以确定哪种方法更合适:boost::packaged_task提供了一个可以创建future的仿函数。这个仿函数可以在B

c++ - 使用纯 C++/Boost 读取/写入具有 unicode 文件名的文件

我想使用boost文件系统读取/写入具有unicode文件名的文件,Windows上的boost语言环境(mingw)(最后应该是平台独立的)。这是我的代码:#include#defineBOOST_NO_CXX11_SCOPED_ENUMS#include#includenamespacefs=boost::filesystem;#include#includeintmain(){std::locale::global(boost::locale::generator().generate(""));fs::path::imbue(std::locale());fs::pathfil

c++ - 你如何正确关闭 boost::asio 中的套接字?

我正在努力研究boost::asio中的资源管理。我看到在相应的套接字已经被销毁后调用的回调。boost::asio官方示例就是一个很好的例子:http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/example/cpp11/chat/chat_client.cpp我特别关心关闭方法:voidclose(){io_service_.post([this](){socket_.close();});}如果您调用此函数并随后销毁持有socket_的chat_client实例,则socket_将在对其调用close方法之前被销毁。也

c++ - 以文件名为键 boost 属性树

我正在尝试使用文件名作为boost::PropertyTree中的键但是,'.'文件名中的字符(例如“example.txt”)会导致在属性树中添加一个附加层。最明显的解决方案是替换“。”使用另一个字符,但可能有更好的方法来执行此操作,例如使用转义字符。在下面的示例中,值10将被放入节点“txt”中,该节点是“example”的子节点。相反,我希望将值10存储在节点“example.txt”中。ptreept;pt.put("example.txt",10);如何使用单个节点的完整文件名?预先感谢您的帮助! 最佳答案 只需显式插入树

c++ - 对 boost::timer::auto_cpu_timer 的 undefined reference

我尝试使用g++4.4在Debian的远程服务器上使用boost库编译小型.cpp文件。为此,我使用Netbeans。我的家用机器在Windows7上。解决了一些链接下一个代码的问题后#include#include#includeintmain(){boost::timer::auto_cpu_timerac;//line5return0;//line6}产生2个错误:第5行:对boost::timer::auto_cpu_timer::auto_cpu_timer(short)'的undefinedreference第6行:对boost::timer::auto_cpu_timer

c++ - 如何解决 MSCV 中 Boost 文件系统库的 LNK1104 错误?

我无法让我的项目链接到MicrosoftVisualC++2008ExpressEdition中的Boost(版本1.37.0)文件系统lib文件。文件系统库不是只有头文件的库。我一直在关注GettingStartedonWindows官方boost网页上发布的指南。以下是我采取的步骤:我使用bjam构建了完整的lib文件集:bjam--build-dir="C:\ProgramFiles\boost\build-boost"--toolset=msvc--build-type=complete我复制了/libs目录(位于C:\ProgramFiles\boost\build-boos