在使用C++和GCC的Linux中,是否可以将虚拟地址转换为物理地址?

Ros*_*ers 2 c c++ linux gcc g++

在Linux,C++和GCC下,我可以获得给定虚拟地址的物理地址吗?我知道我无法将物理地址作为物理地址进行操作.

Jon*_*pan 6

不.无法保证虚拟地址基于物理地址(例如,它可能是RAM中没有表示的映射文件.)同样,操作系统可以随时在物理内存中移动虚拟地址,因此无法保证物理地址保持正确或有效.

为什么你认为你需要一个实际地址?你想达到什么目的?

  • 您可以mprotect()该页面并删除PROT_WRITE.如果你崩溃,有什么东西正在写入页面...... (2认同)