深刻理解C++內存管理機制

關於C++的內存處理,可分爲三大塊,分別是:linux

(一)內存管理機制  windows

(二)內存泄露處理函數

(三)內存回收機制佈局

這篇文章將就(一)內存管理機制 進行深刻探討,若有錯誤歡迎你們指正。spa

C++的內存管理也可細分爲blog

1. 程序內存佈局內存

2. 內存的分配方式作用域

3. 常見內存錯誤及對策it

----------------------------------------------------------------------------內存管理

一. 程序內存佈局

查了相關資料,明白了一點: memory layout of C++/C program is mostly dependent on the Operating System

So it's an opening question !

即使如此,當清楚C++程序的內存佈局後,咱們對變量的生存期、內存的管理,將會有更深入的認識。

 

下面先歸納介紹C++程序內存佈局,再分別以windows和linux爲示例。

1. C++程序內存佈局

對於分段式內存而言,C++程序所涉及的內存區有:代碼段、數據段、堆棧。(見圖)

下面來依次分析C++程序中各個元素所對應的內存位置吧~

程序代碼:存儲在代碼段,只讀。

變量:

根據做用域,可分爲:全局變量、局部變量

根據關鍵字,有:static靜態變量、const常量

根據位置,有:類變量、函數形參

特殊變量:字面量

相關文章
相關標籤/搜索