函数指针:物理或虚拟地址

当我们得到一个函数的地址或任何对象时,它是该对象的虚拟地址或物理地址?

你一般都在询问指针吗?

在大多数操作系统上,它们是逻辑地址。

操作系统负责通过虚拟内存和分页机制将它们转换为物理地址。 这对程序是透明的。 这就是误入歧途的程序“击中边界”和GPF的原因。

在一些旧系统(例如,DOS)上,它们是物理的,允许您覆盖内存的其他部分中的内容。

取决于操作系统以及您的代码运行的级别。

对于现代操作系统上的普通用户登陆程序,您将获得虚拟地址。