小编Qui*_*ker的帖子

windows - 两个进程之间的普通共享内存(没有文件映射,没有管道,没有其他额外的)

如何拥有一个孤立的内存部分,它根本不支持任何文件或额外的管理层,如管道,可以在同一台Windows机器上的两个专用进程之间共享?

大多数文章都指向了CreateFileMapping的方向.让我们从那里开始:

具有hFile = INVALID_HANDLE_VALUE的CreateFileMapping如何实际工作?根据

https://msdn.microsoft.com/en-us/library/windows/desktop/aa366537(v=vs.85).aspx

它"...创建一个指定大小的文件映射对象,该对象由系统页面文件而不是文件系统中的文件支持..."

假设我在内存中写了一些东西,它由CreateFileMapping映射,并带有hFile = INVALID_HANDLE_VALUE.在什么条件下将此内容写入磁盘上的页面文件?

此外,我对共享内存使用的动机的理解是保持性能和优化.为什么文章"创建命名共享内存"(https://msdn.microsoft.com/de-de/library/windows/desktop/aa366551(v=vs.85).aspx)引用CreateFileMapping,如果没有一个属性组合,会阻止写入文件,例如页面文件?

回到最初的问题:我担心,CreateFileMapping不够好......那么什么会起作用?

c windows shared-memory

1
推荐指数
1
解决办法
457
查看次数

标签 统计

c ×1

shared-memory ×1

windows ×1