如果我想直接从其他应用程序使用虚拟地址访问数据,是否可以使用虚拟地址访问proc / [pid] / mem?偏移量是否与虚拟地址相同?

如果我fseeko(the-proc/[pid]/mem-File, virtual_address, SEEK_SET);,按代码进行
fread从virtual_address中获得的金额,是否可以从该应用程序的虚拟地址中获取数据?

谢谢!

最佳答案

您不能完全做到这一点。但是我相信您正在寻找的是shared memory。任何两个进程都可以使用共享内存读取和写入公共内存。进程之间此共享内存的虚拟地址可能不相同。而且用户必须以受控方式对其进行访问,因此没有给出自然的锁定机制。

这个来自linklinuxgazette有一个很好的示例解释。

07-24 13:20