mingw 和 Visual Studio 应用程序之间的共享内存
Posted
技术标签:
【中文标题】mingw 和 Visual Studio 应用程序之间的共享内存【英文标题】:Shared memory between mingw and visual studio application 【发布时间】:2013-09-03 21:04:39 【问题描述】:是否可以在使用 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 层创建的。
【问题讨论】:
【参考方案1】:一个简单的测试程序确认这是可能的。一个警告是使用完全相同的增强版本。在 boost 1.53 和 1.54 之间,为底层内存映射文件创建的唯一 ID 显然发生了变化。 但是我没有检查内存对齐问题。
【讨论】:
以上是关于mingw 和 Visual Studio 应用程序之间的共享内存的主要内容,如果未能解决你的问题,请参考以下文章
C : Visual Studio 和 Eclipse+MinGW 中的预编译头文件
Visual Studio 2013 中的 POSIX 标头(来自 MinGW 项目)
我可以强制 Visual Studio 使用 mingw 编译器吗
Qt MinGW WIN32 到 Visual Studio 2010