Memory--剖析程序在内存中的存储

上传人:我*** 文档编号:133099825 上传时间:2020-05-24 格式:PDF 页数:20 大小:416.44KB
返回 下载 相关 举报
Memory--剖析程序在内存中的存储_第1页
第1页 / 共20页
Memory--剖析程序在内存中的存储_第2页
第2页 / 共20页
Memory--剖析程序在内存中的存储_第3页
第3页 / 共20页
Memory--剖析程序在内存中的存储_第4页
第4页 / 共20页
Memory--剖析程序在内存中的存储_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《Memory--剖析程序在内存中的存储》由会员分享,可在线阅读,更多相关《Memory--剖析程序在内存中的存储(20页珍藏版)》请在金锄头文库上搜索。

1、1 Memory Allocation CS 217 Memory Allocation Good programmers make efficient use of memory Understanding memory allocation is important Create data structures of arbitrary size Avoid memory leaks Run time performance 2 Memory What is memory Flip flops storing bits for variables data code etc CPU Mem

2、ory Disk Network Video Audio Data Bus Memory What is memory Flip flops storing bits for variables data code etc Unix provides virtual memory CPU Memory Disk Network Video Audio Data Bus 0 0 xffffffff Virtual Address Space 3 Memory What is stored in memory 0 0 xffffffff Virtual Address Space Memory W

3、hat is stored in memory Code Constants Global and static variables Local variables Dynamic memory malloc 0 0 xffffffff Virtual Address Space int iSize char f void char p iSize 8 p malloc iSize return p global local constant dynamic 4 Memory Layout How is memory organized Code Constants Global and st

4、atic variables Local variables Dynamic memory malloc 0 0 xffffffff int iSize char f void char p iSize 8 p malloc iSize return p Memory Layout How is memory organized Text code Data constants BSS global and static variables Stack local variables Heap dynamic memory 0 0 xffffffff Text Data BSS Stack H

5、eap int iSize char f void char p iSize 8 p malloc iSize return p bss stack data heap 5 Memory Allocation How is memory allocated Global and static variables program startup Local variables function call Dynamic memory malloc 0 0 xffffffff Text Data BSS Stack Heap Memory Allocation allocated in BSS s

6、et to zero at startup allocated on stack at start of function f 8 bytes allocated in heap by malloc int iSize char f void char p iSize 8 p malloc iSize return p 6 Memory Deallocation How is memory deallocated Global and static variables program finish Local variables function return Dynamic memory f

7、ree All memory is deallocated at program termination It is good style to free allocated memory anyway Memory Deallocation available until program termination deallocated by return from function f deallocate by calling free p int iSize char f void char p iSize 8 p malloc iSize return p 7 Dynamic Memo

8、ry include void malloc size t size void free void ptr Heap char str malloc 8 free str 8 str 8 Bytes for Data Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free

9、p3 char p5 malloc 2 free p1 free p4 free p5 8 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 Dynamic Memory i

10、nclude void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p2 9 Dynamic Memory include void malloc size t size void free void ptr 0 0 xff

11、ffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p2 p3 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 ch

12、ar p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p2 p3 10 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 mallo

13、c 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p2 p3 p4 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5

14、p1 p2 p3 p4 11 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p5 p2 p3 p4 Dynamic Memory include void malloc

15、size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p5 p2 p3 p4 12 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Te

16、xt Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p5 p2 p3 p4 Dynamic Memory include void malloc size t size void free void ptr 0 0 xffffffff Text Data BSS Stack Heap Heap char p1 malloc 3 char p2 malloc 1 char p3 malloc 4 free p2 char p4 malloc 6 free p3 char p5 malloc 2 free p1 free p4 free p5 p1 p5 p2 p3 p4 13 Example Code I 0 0 xffffffff Text Data BSS Stack Heap void ReadStrings Array T

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号