sha*_*enk 2 c c++ memory virtual-memory
假设我们用C编写一个程序并打印程序中声明的一个变量的地址,那么在屏幕上打印的地址是虚拟地址还是变量的物理地址?如果它是虚拟地址,为什么它仍然具有与物理内存的位范围相同的范围?例如.对于32位机器,如果它返回0x833CA23E.
mer*_*011 6
地址将是一个虚拟地址的虚拟内存,因为应用程序有没有物理内存的知识.这是由内核和MMU隐藏的.
我不确定你的意思是同一个"位范围".如果你有一个32位的地址空间,它将覆盖整个32位空间,无论你有多少物理内存.同样适用于64位.
归档时间:
11 年,3 月 前
查看次数:
1830 次
最近记录: