代码之家  ›  专栏  ›  技术社区  ›  penguru

获取共享内存中对象的偏移量

  •  2
  • penguru  · 技术社区  · 15 年前

    如何访问在共享内存中创建的对象的偏移量?

    segment = new managed_shared_memory(create_only, "MySharedMemory", segmentSize);  
    line = segment->construct<Line>("Line1")("line");
    

    我想访问线对象的偏移量。。

    1 回复  |  直到 15 年前
        1
  •  1
  •   alvatar    15 年前

    首先,需要用您的行类型声明偏移指针:

    boost::interprocess::offset_ptr<Line> offset_p;
    

    第二,指定它:

    offset_p = line;
    

    线

    draw_line( offset_p.get() );