草庐IT

boost-uuid

全部标签

c++ - 为什么人们似乎暗示我宁愿不使用 Boost?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我经常在这里看到关于boost的注释,例如IfyouarefinewithusingBoost...或IfyoucanuseBoost...我想知道,这到底是怎么回事?我应该厌倦什么?我什么时候不能使用boost?不用boost的原因有哪些?在我看来,boost是对STL的一个很好的扩展;有时非常重量级和笨拙,但仍然很棒。我并不是真的征求有关boost的意见。我宁愿寻找一些具体的例子,在使

c++ - 如何停止/中断 boost::thread?

我在一个函数中创建了一个线程,在另一个函数中,我想停止这个线程。我试过这样:classServer{private:boost::thread*mPtrThread;...public:voidcreateNewThread(){boost::threadt(...);mPtrThread=&t;}voidstopThread(){mPtrThread->interrupt();}}但它不起作用。我怎样才能停止线程? 最佳答案 如果你想使用interrupt()你应该定义interruptionpoints.线程一旦到达中断点之一,

C++11 std::shared_ptr + boost::序列化

这个问题在这里已经有了答案:Howcanboost::serializationbeusedwithstd::shared_ptrfromC++11?(7个答案)boostserializeandstd::shared_ptr(2个答案)关闭9年前。嗨,有人已经成功地使用boost::serialization序列化了C++11std::shared_ptr。那里有很多过时的帖子,但没有一个具有可接受的解决方案。我不打算讨论为什么我要使用std::shared_ptr只是接受它!我找到了另一个帖子:boostserializeandstd::shared_ptr但它没有回答我如何序列化

c++ - 为什么 Boost.ProgramOptions 不是只有标题?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion有些boost库是只有头文件的,有些不是,出于各种原因等等。Boost.ProgramOptions不是header-only是否有特定原因/设计决定?我想知道,因为它在其文档中声称是一个“小型”库,而且我没有看到任何与系统相关的原因(如线程或asio)。

c++ - Boost.Test 测试静态库

我正在使用Boost.Test进行单元测试。因为一些原因,我想在不同的静态库上编写单元测试用例。问题是当我这样做时,自动注册器不工作。例如,如果我有类似的东西://foo_tests.cpp#defineBOOST_TEST_MODULE"Foo"#includeBOOST_AUTO_TEST_CASE(Bar){BOOST_CHECK(false);}//usedtogeneratelibFooTests.a//main.cpp#defineBOOST_TEST_DYN_LINK#defineBOOST_TEST_MAIN#include//usedtogeneratemain.o然

c++ - Boost::asio、共享内存和进程间通信

我有一个应用程序专门使用boost::asio作为输入数据源,因为我们的大多数对象都是基于网络通信的。由于某些特定要求,我们现在还需要能够使用共享内存作为输入法。我已经编写了共享内存组件,它运行得相当好。问题是如何处理从共享内存进程到消费应用程序的数据可以读取的通知——我们需要处理现有输入线程中的数据(使用boost::asio),我们还需要不阻塞等待数据的输入线程。我通过引入一个中间线程来实现这一点,该线程等待共享内存提供程序进程发出的事件信号,然后将完成处理程序发布到输入线程以处理数据读取。这现在也可以工作,但是中间线程的引入意味着在大量情况下,我们在读取数据之前有一个额外的上下文

c++ - Boost.Filesystem 中的 MAX_PATH 限制

我想使用Boost.Filesystem库来操作路径、文件和目录。我的问题是是否支持长于MAX_PATH的路径?我知道在Win32API中我们有解决方法“\\?\”,但它不受PathAppend和PathCombine等基本函数的支持。所以我正在寻找有关MAX_PATH和Boost.FS的任何有用信息。谢谢UPD:我关心所有操作,如路径追加、路径合并等(我在Win32API中有这些函数,但它们不适用于比MAX_PATH长的路径)例如CreateFileW和DeleteFileW都支持比MAX_PATH长的路径。可能Boost.FS可以替代Win32API实用程序函数,例如shlwapi

c++ - boost::filter_iterator——我将如何使用 STL 做到这一点?

我收到了一个迭代器,我必须将它传递给另一个函数——但经过过滤以便跳过某些元素(这是一个指针范围,我想过滤掉NULL指针)。我在谷歌上搜索了“STLfilteriterator”以查看如何执行此操作,并且boost::filter_iterator上来了。这看起来不错,我可以使用它,但我也可以使用良好的旧STL来实现吗?当然,无需将元素复制到新容器中。我想我必须创建另一个迭代器类来提供必要的begin()、end()等函数并进行过滤?所以我必须重新实现boostiterator_filter...? 最佳答案 你是对的;您实际上是在自

c++ - 使用 Boost::Spirit 的简单表达式解析器示例?

有没有人知道在线资源,在那里我可以找到如何使用Boost::Spirit编写简单的表达式解析器?我不一定需要评估表达式,但我需要解析它并能够返回一个bool值来指示表达式是否可解析(例如,括号不匹配等)。我需要解析器能够识别函数名称(例如foo和foobar),因此这也是一个有用的示例来帮助我学习编写BNF表示法。表达式将是正规的算术方程式,即由以下符号组成:开始/结束括号算术运算符识别函数名称,并检查其所需的参数 最佳答案 这里有一些旧的Spirit原型(prototype)代码:#include#include#include#

c++ - 使用 boost::asio 发送 Protobuf 消息

我正在尝试使用Google的ProtocolBuffers和boost::asio在C++中破解一个客户端。我的问题是我不知道如何将protobuf消息提供给asio。我所拥有的是://setup*sock-worksPlayerInfoinfo;info.set_name(name);//otherstuff现在我知道以下内容是错误的,但我还是会发布:size_trequest_length=info.ByteSize();boost::asio::write(*sock,boost::asio::buffer(info,request_length));据我所知,我必须将我的消息以