gpt4 book ai didi

windows - 两个页面条目引用同一个物理页面

转载 作者:可可西里 更新时间:2023-11-01 10:38:36 25 4
gpt4 key购买 nike

对于linux和windows,在同一个进程中,如何让两个页面入口引用同一个物理页面?

对于 Windows,通过阅读 MSDN,看起来我可以通过传递 INVALID_HANDLE_VALUE 来调用 CreateFileMapping 来创建没有文件支持的文件映射。然后,我可以用不同的 lpBaseAddress 调用 MapViewOfFileEx 两次,这实质上使两个不同的地址引用相同的物理地址。

我的问题是,在linux下怎么办?我阅读了 mmap 的手册,但没有找到方法,除非该区域由文件支持(带有标志 MAP_SHARED),但对该区域的修改将被写入文件,这不是我想要的。有谁知道以某种方式做到这一点?我不反对通过文件进行备份,只要对该区域的写入实际上并未写入磁盘即可。使用 tmpfs 不是一个选项,因为我不能保证用户安装了 tmpfs

顺便说一句,代码应该是用户态代码,而不是内核态代码。

最佳答案

使用 shm_open()mmap() 创建一个文件。

“我想写一些模拟器”与我使用此技巧时的目的相同。我确实使用了ipc/shm,但我忘记了细节。非常非常非常可能:shmget()+shmat()

关于windows - 两个页面条目引用同一个物理页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11463282/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com