visual studio 2010,我如何获得变量的物理地址?

时间:2013-12-30 08:15:19

标签: c visual-studio-2010

所有人都可以告诉我如何获得变量的物理地址吗? (操作系统是Win7 64位)

像:

void main()
{
    int a=10;
    ........
    return;
}

如何获取变量的物理地址'' ?

3 个答案:

答案 0 :(得分:2)

how can I get the physical address of variable 'a' ?

No, you can't.您看到的地址是指virtual memory address,而不是物理RAM地址。该程序在OS分配的虚拟内存上运行。如果进程开始执行,则为所有信息/数据所在的每个进程创建process address space。有关流程地址空间的更多信息,请单击here

答案 1 :(得分:0)

在os case& a中的

将打印虚拟地址。虚拟地址有时与物理地址有关系。了解虚拟地址与物理地址的关系,您需要了解x86的MMU以及Windows 7内存管理部分

答案 2 :(得分:-1)

回答您的问题是&a可能会为您提供变量a的物理地址但是如果您的代码是作为操作系统的一部分加载的,并且仅当您的操作系统在物理机上运行时。

注意:如果您的操作系统在虚拟机上运行,​​它将始终为您提供虚拟地址,或者如果您的代码在现代操作系统上作为常规应用程序加载,那么它也将是一个虚拟地址(逻辑地址) )。