首页 > 其他 > 详细

内存管理:虚拟内存是什么?

时间:2020-02-21 16:46:53      阅读:69      评论:0      收藏:0      [点我收藏+]

在C语言中,指针变量的值就是一个内存地址,&运算符的作用也是取变量的内存地址。

#include<iostream> 
using namespace std;

int a = 1, b = 255;
int main(){
    int *pa = &a;
    cout << "pa = " << pa << endl;
    cout << "&b = " << &b << endl;
    return 0;
}
/*运行结果*/
pa = 0x472010
&b = 0x472014
//代码中的a, b是全局变量,它们的内存地址在链接时就已经决定了,以后再也不能改变。

//如果物理内存中这两个地址被占用了怎么办?

//这些内存地址都是虚拟地址,需要通过CPU转换才能对应到物理地址。
//而且每次程序运行时,操作系统都会重新安排虚拟地址和物理地址的对应关系,哪一段物理内存空闲就使用哪一段。
  • 虚拟地址 <---> 中间层思想
    • 使不同程序的地址空间相互隔离
    • 提高内存使用效率

内存管理:虚拟内存是什么?

原文:https://www.cnblogs.com/xiaobaizzz/p/12341913.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!