【发布时间】:2019-09-24 05:10:43
【问题描述】:
我希望解决的基本问题是有两个由物理内存支持的虚拟内存区域(即 VirtualAlloc),以及第三个虚拟内存区域“指向”另外两个虚拟内存区域之一记忆。
虽然我相信您可以使用 MapViewOfFileEx 映射两个支持的内存区域之一,但我找不到任何方法来确保在将映射从一个区域更改为另一个区域时不会被盗。
我最初的想法是使用 MEM_RESERVE 进行 VirtualAlloc,但 MapViewOfFileEx 不能使用保留内存。
我相信我可以在 posix 上使用 shm_open 和 family 完成同样的事情,因为 mmap 可以覆盖映射区域。
【问题讨论】:
-
我说你的问题不清楚,两个虚拟内存区域和第三个虚拟内存区域“指向”另外两个虚拟内存区域之一记忆 - 为了什么?
-
正如document 所说,建议使用偏移量而不是地址,因为不能保证地址会随着时间的推移保持安全。您对使用偏移量有任何顾虑吗?
-
@RitaHan-MSFT 这是对仿真的优化。有两个模拟内存组(前两个虚拟内存区域),如果我可以简单地使用第三个区域指向适当的内存组,它将简化代码。
标签: winapi virtual-memory