[英]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.