0

是否可以在使用 MinGW 编译的应用程序和使用 Visual Studio 编译的应用程序之间共享内存区域?

我依赖于 boost 进程间:

  shared_memory_object shm (create_only, "MySharedMemory", read_write);
  shm.truncate(1000);
  mapped_region region(shm, read_write);
  int *pi = (int *)region.get_address();

我已经意识到这是不可能通过 Cygwin 实现的,因为 boost shared_memory_object 是通过 Cygwin posix 层创建的。

4

1 回答 1

0

一个简单的测试程序证实这是可能的。一个警告是使用完全相同的增强版本。在 boost 1.53 和 1.54 之间,为底层内存映射文件创建的唯一 ID 显然发生了变化。但是,我没有检查内存对齐问题。

于 2013-09-13T10:48:54.030 回答