C 記憶體相關

2021-09-08 20:33:50 字數 524 閱讀 6971

1、c++的記憶體管理可分為以下幾個部分:

棧:記錄程式的執行過程。

堆:採用new,delete申請釋放記憶體。

自由儲存區:對應於c中使用malloc,free申請釋放記憶體。

全域性儲存區:也叫靜態儲存區,儲存static物件,包括全域性物件,命名空間內物件,檔案作用域內的static物件,類中的static物件,方法內的static物件。

常量儲存區:存放文字常量。

2、對於32位系統,堆可用大小為為4g,對於一般程式,可認為無限大。棧可用大小為1m,也可以人為修改。

3、 1byte = 8bit

1word = 2byte

1k = 1024byte

1m = 1024k

1g = 1024m

4、注意:位元組是記憶體編址的最小單位。因此,對於大小為0的物件(沒有例項欄位和虛方法),為了表示在記憶體中,必須要用乙個位元組表示。再比如,對於bool,按道理只要1個bit就能表示了,但是由於位元組是記憶體編址的最小單位,bool變數也要占用乙個位元組,浪費了7個bit。

C 記憶體相關學習

int globalvar 1 static int staticglobalvar 1 void test char char2 abcd char pchar3 abcd int ptr1 int malloc sizeof int 4 int ptr2 int calloc 4 sizeof ...

python 記憶體相關

1.proc pid status 可以檢視程序相關的詳細資訊,當記憶體異常時可檢視 參考 2.top p 程序號 實時檢視程序相關記憶體 3.記憶體除錯 參考 memory profiler檢視函式中各行 的記憶體增長 guppy檢視python物件占用的堆記憶體大小 4.檢視變數引用計數 imp...

python 記憶體相關

1.proc pid status 可以檢視程序相關的詳細資訊,當記憶體異常時可檢視 參考 2.top p 程序號 實時檢視程序相關記憶體 3.記憶體除錯 參考 memory profiler檢視函式中各行 的記憶體增長 guppy檢視python物件占用的堆記憶體大小 4.檢視變數引用計數 imp...