繁体   English   中英

Visual Studio 2010中,如何获取变量的物理地址?

[英]visual studio 2010, how can I get a variable's physical address?

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

喜欢:

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

如何获得变量“ a”的物理地址?

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM