是否可以在使用MinGW编译的应用程序和使用Visual Studio编译的应用程序之间共享内存区域?
我依赖于boost interprocess:
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,因为然后通过Cygwin posix层创建了boost shared_memory_object。
答案 0 :(得分:0)
一个简单的测试程序确认它是可能的。一个警告是使用完全相同的提升版本。在boost 1.53和1.54之间,底层内存映射文件的唯一ID创建明显改变了。 但我没有检查内存对齐问题。