boost-interprocess

    1热度

    1回答

    我知道boost interprocess containers,并且这些示例使用托管共享内存。但我想用一个简单的boost::interprocess::shared_memory_object,里面有一个对象,以及一个矢量或该对象内的任何其他容器。这似乎并不奏效。 试过这样: #include <stack> #include <boost/interprocess/containers/v

    0热度

    1回答

    我具有包含在长期运行的字符串(升压::进程间:: basic_string的)作为值保存在共享存储器,我正在此错误升压进程间矢量 include/boost/interprocess/mem_algo/rbtree_best_fit.hpp:1346: void boost::interprocess::rbtree_best_fit<MutexFamily, VoidMutex, MemAlig

    0热度

    2回答

    我已经在这里待了好几天(即使在升压论坛上也是posted),并且能够让第二个进程识别锁定的互斥锁,但这似乎不起作用。请帮忙。这是代码: 公共头文件:SharedObject.hpp #ifndef SHAREDOBJECT_HPP #define SHAREDOBJECT_HPP #include <iostream> #include <boost/interprocess/mapped_

    0热度

    1回答

    我在boost :: interprocess :: flat_map上构建了一些包装,问题是,出于某种原因我无法使用operator[]或at。当我使用find或insert它成功编译。 typedef boost::interprocess::managed_shared_memory::segment_manager SegmentManager; typedef boost::inter

    1热度

    1回答

    我希望在一个进程中在共享内存段上分配数据,并在另一个进程中释放它。 我使用以下行分配它在过程1(过程Proc1): new_Class* pData = managed_windows_shared_memory_segment.construct<new_Class>(anonymous_instance)() 我则指针转换到手柄get_handle_from_address(pData),将其

    0热度

    1回答

    时出现奇怪的链接器错误我们有一些代码使用Boost Interprocess来管理共享内存。它把反对我们的升压1.60的调试版本罚款,并将其链接对我们加速1.55的发行版本,而是针对我们的升压1.60的发行版本链接时,我得到这两个错误: error LNK2001: unresolved external symbol "public: void __thiscall boost::contain

    0热度

    1回答

    我正在尝试使用Boost :: Interprocess(i)在一个进程中在共享内存中创建一个集合,并且(ii)打印该集合的值(1,2,3 )在另一个过程中。 这个程序编译,但崩溃: #include "stdafx.h" #include <boost/interprocess/managed_shared_memory.hpp> #include <boost/interprocess/a

    0热度

    1回答

    我正在寻找使用boost进程库的两个线程之间的互连性的正确模式。与使用标准库的典型并行编程不同,我不认为这种库具有特定的功能。 所以我正在寻找一种基本的技术,并了解这些同步原语的用法。 有两个线程:writer和reader,它们使用共享内存。命名互斥体用于同步访问共享内存中的对象(字符串和向量)。当读取器将数据写入共享内存时,用于等待的条件变量。所以情景是: - 阅读器启动并在具有数据的向量应该

    0热度

    1回答

    我正在使用boost消息队列在不同的进程间进行通信。我正在传输一个Packet类型的对象。为此,我在发送和接收函数中使用序列化和反序列化。 然而,当我尝试发送数据时,我收到此错误: 的boost :: interprocess_exception :: library_error 没有其他资料中给出。 这就是我如何创建消息队列。 for(i = 0; i< PROC_MAX_E ; i++){

    1热度

    1回答

    在boost进程的所有示例中,我只能看到它在main()中被初始化。 #include <boost/interprocess/managed_shared_memory.hpp> #include <iostream> using namespace boost::interprocess; int main() { shared_memory_object::remove