jjzjj

c++ - 在生产者-消费者代码中使用 wait() boost 条件死锁

我已经使用Boost线程和条件实现了一个基本的线程生产者-消费者(线程1=生产者,线程2=消费者)。我经常无限期地陷入wait()中。我真的看不出这里有什么问题。下面是一些伪代码://mainclassclassMain{public:voidAddToQueue(...someData...){boost::mutex::scoped_locklock(m_mutex);m_queue.push_back(newQueueItem(...someData...));m_cond.notify_one();}voidRemoveQueuedItem(...someCond...){//

c++ - 我应该如何从 parent 的插槽中删除子对象?可能是 boost::asio 特定的

我编写了一个网络服务器类来维护一组std::网络客户端。网络客户端在断开连接时向网络服务器发出信号(通过boost::bind)。当网络客户端断开连接时,客户端实例需要从Set中移除并最终被删除。我认为这是一种常见的模式,但我遇到的问题可能是也可能不是ASIO特有的。我试图精简到只包含相关代码:/**NetworkServer.hpp**/classNetworkServices:privateboost::noncopyable{public:NetworkServices(void);~NetworkServices(void);private:voidrun();voidonNe

c++ - Python对象到C++指针问题

这是我的第一篇文章:)。我可以将python扩展对象转换为C++指针,但我遇到了问题。首先,我将向您展示我的代码,然后我将解释问题。这是我的课:#includeusingnamespaceboost::python;classBase{public:virtualconstchar*HelloWorld()=0;};classBaseWrapper:publicBase,publicwrapper{public:virtualconstchar*HelloWorld(){if(overridef=this->get_override("HelloWorld"))returncall(f

c++ - boost named_semaphore 示例?

我没能找到一个很好的例子来展示如何使用boost::interprocess::named_semaphore(甚至在Boost网站上也没有)。我可以看到一些关于interprocess_semaphore的东西,但它们似乎完全不同,我不知道为一个显示的内容是否也适用于另一个。任何人都可以给我一些指向此类示例/tutorials/documentation的链接吗?谢谢。 最佳答案 interprocess_semaphore和named_semaphore之间的主要区别在于interprocess_semaphore是通过使用共享

c++ - 在 boost::test::unit_test 中查找内存泄漏

这个问题是continuationtoapreviousquestion在boost::test::unit_test上。我已经编写了单元测试并构建了单元测试。这是构建输出:2>------Buildstarted:Project:UnitTests,Configuration:DebugWin32------2>stdafx.cpp2>UnitTests.cpp2>UnitTests.vcxproj->F:\Src\Crash\trunk\Debug\UnitTests.exe2>2>Running3testcases...2>Testsuite"MasterTestSuite"pa

c++ - Boost 的无序容器对于读取来说是线程安全的吗?

例如,对于MSVC,read-onlyisthread-safeoncontainers.对于只读,boost是否同样是线程安全的?更新:即,我们能否期望“const”方法保证多线程使用不会损坏内存。 最佳答案 即将发布的标准定义了所有标准的线程安全容器,如果提升,我会感到非常惊讶实现不符合此保证。特别是,你应该能够从容器的任何实例中读取任何线程,只要没有线程正在修改容器。 关于c++-Boost的无序容器对于读取来说是线程安全的吗?,我们在StackOverflow上找到一个类似的问题

c++ - boost::program_options 值 vector 与 zero_token

我正在尝试使用boost::program_options解析以下语法:a)$a.outverbosity:0b)$a.out-vverbosity:1c)$a.out-v-vverbosity:2d)$a.out-vvverbosity:2e)(optional)$a.out-v3verbosity:3到目前为止我的计划:#include#includenamespacepo=boost::program_options;intmain(intargc,char*argv[]){po::options_descriptiondesc;desc.add_options()("verbo

c++ - 如何在 boost 图形库中使用 `randomize_property` 和捆绑属性图?

在文档中:http://www.boost.org/doc/libs/1_46_1/libs/graph/doc/random.html#randomize_property只有一个函数原型(prototype),我找不到一个有效的例子。我尝试了几件事,但就是无法编译。这是一个简单的源代码:#include#include#include#include#include#include#includeusingnamespacestd;usingnamespaceboost;structEdgeProperty{intcost;};typedefadjacency_listGraph;

c++ - 如何使用 open64 编译器构建 boost 库?

我想试试AMD的open64编译器,但为此我首先需要使用此编译器构建一些boost库(当前版本1.46_1)。不幸的是,open64不在boost.build系统提供的工具集中,参见例如here或更详细here.现在,我如何获得open64构建的boost?到目前为止,这是我尝试过/发现的:在子目录tools/build/v2/tools有一堆.jam文件似乎定义了可以通过using使用的工具集指令,例如usinggcc;.这些看起来很难看,我真的不知道如何为open64(或openCC,这是实际命令)编写一个。由于openCC的接口(interface)显然与gcc的接口(inter

c++ - c++ 中是否有可用的并发队列库?

我想知道是否有可用的C++并发队列实现/库? 最佳答案 英特尔线程构建模块有一个:http://threadingbuildingblocks.org/files/documentation/a00129.html.并发运行时中也有一个(VS2010可用)http://msdn.microsoft.com/en-us/library/ee355358.aspx. 关于c++-c++中是否有可用的并发队列库?,我们在StackOverflow上找到一个类似的问题: