有没有办法在进程之间共享在共享段之外分配的内存?

时间:2013-05-29 09:05:33

标签: c++ boost

我在堆上分配了char[1024] 已经。有没有办法通过boost::interprocess或任何其他方式共享分配的数组,而不需要先在共享内存段上分配它?换句话说,我需要一种方法来创建共享内存对象 创建数组后来自数组本身。

由于一些未知的原因,这不起作用:

char* mem = new char[1024];
shared_memory_object shm (create_only, "id", read_write);
shm.truncate(1024);
mapped_region region(shm, read_write, 0, 1024, mem);

mapped_region构造函数抛出interprocess_exception e,但没有提供有用的信息:

cout << "Error: " << e.get_error_code() << ' ' << e.get_native_error() << ' ' << e.what() << "\n";

打印:

Error: 1 0

0 个答案:

没有答案