C++学习笔记(一)——内存分配问题
来源:互联网 发布:上海巴斯德研究所 知乎 编辑:程序博客网 时间:2024/06/05 01:08
- 内存分配问题
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
- C++学习笔记(一)——内存分配问题
- c语言复习笔记——内存分配问题
- C学习笔记——malloc内存分配
- C语言学习笔记——动态内存分配
- 深入理解C指针学习笔记---多级指针的内存分配问题(五)
- (《Linux环境下C语言编程指南》学习笔记一)C语言中的静态内存分配和动态内存分配
- OpenSSL学习笔记——内存分配
- 学习笔记—java中的内存分配
- C语言内存分配管理(学习笔记)
- C语言学习笔记:内存分配
- 学习笔记13-C++-内存分配
- C内存—>内存分配
- c内存分配笔记
- C内存分配问题
- C标准库函数(一)---内存分配
- C/C++语言学习——内存分配管理
- C++ Primer学习笔记——$20 内存分配
- C++ Primer学习笔记——$20 内存分配
- Python 基础——list的成员方法
- 关于oracle数据库的隐式转换的操作
- 叉姐的魔法训练小结(未完结)
- HDU 1455 Sticks(回溯,减枝很巧妙)
- JPA spring @Entity @Table 概述
- C++学习笔记(一)——内存分配问题
- 【果然叼】这款软件怎么实现的,太牛逼了吧?
- awt和swing的区别
- JPA各种注解
- 背包问题
- shell编程之if判断的总结
- iptables
- 4.16:在4.12的基础上增加重载-=和*=的成员函数
- Github怎么删除之前的项目