[問題] 靜態與動態配置佔用記憶體的差別

看板C_and_CPP作者 (旅之夢)時間14年前 (2010/06/01 01:47), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
剛剛做了一個小實驗 程式A: char m[1024*1024]; 程式B: char *a = new char[1024*1024]; 然後檢查記憶體 A佔用了2456K B佔用了1440K 這差異還蠻大了,請問是為什麼? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.113.138.92

06/01 01:49, , 1F
你的那兩個數值是怎麼得到的呢?工作管理員?
06/01 01:49, 1F

06/01 01:49, , 2F
是的~
06/01 01:49, 2F

06/01 01:50, , 3F
其實我覺得這種觀察沒什麼意義...可見 #1BXqAZdq 這篇文
06/01 01:50, 3F

06/01 01:53, , 4F
我了解了~ 感謝~
06/01 01:53, 4F

06/01 02:40, , 5F
要研究這兩者的差別,用debugger比較好,heap的結構複
06/01 02:40, 5F

06/01 02:41, , 6F
雜太多了,一段時間沒用就忘了詳細構造,好像是一個串
06/01 02:41, 6F

06/01 02:41, , 7F
一個?
06/01 02:41, 7F

06/01 02:44, , 8F
補充一下,上面是指windows的,unix/linux的記得不同
06/01 02:44, 8F

06/01 02:48, , 9F
不過stack能算靜態配置嗎?xxx section這種才算吧?
06/01 02:48, 9F

06/01 02:59, , 10F
沒八卦,因為 stack 上的東西比較少有機會被 page out。
06/01 02:59, 10F
文章代碼(AID): #1C0_PAZk (C_and_CPP)