程序的内存分布
?一般而言,計(jì)算機(jī)程序由代碼和數(shù)據(jù)組成.它所占用的內(nèi)存區(qū)一般分為如下5種:
1. 全局靜態(tài)數(shù)據(jù)區(qū): 存放全局變量和靜態(tài)變量(包括全局和局部的靜態(tài)變量).?
2.常量數(shù)據(jù)區(qū).存放常量字符串等,內(nèi)容不可修改.
3.代碼區(qū): 存儲(chǔ)程序代碼.
4.堆.用戶控制的存儲(chǔ)區(qū),存儲(chǔ)動(dòng)態(tài)產(chǎn)生的數(shù)據(jù).new.malloc都是在堆上申請(qǐng)空間,分別用delete,free來釋放申請(qǐng)的空間,否則容易造成內(nèi)存泄露.
5. 棧.存儲(chǔ)自動(dòng)變量或者局部變量,以及傳遞的函數(shù)參數(shù)等.一般來說,一個(gè)程序使用棧的大小是固定的.它一般不存在內(nèi)存泄露問題.
總結(jié)
- 上一篇: 虚函数原理1
- 下一篇: main执行之前与之后