C++学习笔记(一)——内存分配问题

  1. 内存分配问题
    VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口。关于各种变量的内存如下。

VC运行结果:
这里写图片描述
VS运行结果:
这里写图片描述

(1)寄存器是在CPU上的存储器,CPU通过寄存器来对内存进行访问。
CPU(寄存器)<->Cache<->内存
参考:http://blog.csdn.net/dianhuiren/article/details/6890448
cache是一种高速缓冲存储器,她的主要作用是提高CPU数据输入的速率,调和CPU速度与内存存储速度之间的巨大差异。cache是一种高速缓冲存储器,她的主要作用是提高CPU数据输入的速率,调和CPU速度与内存存储速度之间的巨大差异。
通俗一点说就是CPU太快,内存速度相对比较慢,而cache的速度快,但是cache的价格比较昂贵。人们想到一个办法就是利用小容量的cache在CPU和内存中间当桥梁,也就是说把CPU在下一个时间段需要用到的数据提前存入cache中,当 CPU需要的时候可以快速的从Cache中取得数据,这样就可以在一定程度上提高计算机的性能。但是怎样才能知道CPU在下一个时间段内用到内存中的哪些 数据呢?局部性原理就可以解决这个问题。
使用cache改善系统性能的依据就是局部性原理。
(2)内存中一共开辟了五块分区:堆、栈、全局/静态存储区(数据区和BBS区)、文字常量和程序代码区(文本区)。

(3)堆栈的区别参考下面文章:http://www.cnblogs.com/daocaoren/archive/2011/06/29/2092957.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值