[問題] heap與stack佔用記憶體的差別 ... 程式B: char *a = new char[1024*1024]; 然後檢查記憶體A佔用了2456K B佔用了1440K 這差異還蠻大了,請問是為什麼? --. ... <看更多>
「stack heap差異」的推薦目錄:
- 關於stack heap差異 在 [問題] stack與heap疑問- 看板C_and_CPP - 批踢踢實業坊 的評價
- 關於stack heap差異 在 [問題] heap與stack佔用記憶體的差別- c_and_cpp | PTT數位生活 的評價
- 關於stack heap差異 在 Re: [閒聊] 唸理工科的男生是不是都有點跩跩的dzwei PTT批踢 ... 的評價
- 關於stack heap差異 在 [問題] 請問static物件放在class裡面有何差異- 看板C_and_CPP 的評價
- 關於stack heap差異 在 #請益C++ 裡new 與malloc 的差別 - 軟體工程師板 | Dcard 的評價
stack heap差異 在 Re: [閒聊] 唸理工科的男生是不是都有點跩跩的dzwei PTT批踢 ... 的美食出口停車場
Heap 這兩個名詞. Stack: "程式執行前"即能"確定"我要用的程式記憶體大小而配置 ... 以上可能不需要電資的人只要稍微摸過C語言的人都能知道Stack和Heap的差異沒學過的 ... ... <看更多>
stack heap差異 在 [問題] 請問static物件放在class裡面有何差異- 看板C_and_CPP 的美食出口停車場
如果static member物件本身不需要free memory,是否不需要對它做任何處理, 等到stack memory做free的時候自然會去call static member物件的解構式? ... <看更多>
stack heap差異 在 #請益C++ 裡new 與malloc 的差別 - 軟體工程師板 | Dcard 的美食出口停車場
我確定malloc 是使用heap memory,但new 卻只說dynamic memory ... it is allocated on the stack (eg. local variable) or on the heap (eg. boxed ... ... <看更多>
stack heap差異 在 [問題] stack與heap疑問- 看板C_and_CPP - 批踢踢實業坊 的美食出口停車場
各位先進好,我有一個stack與heap的問題想請問,
通常stack與heap陸續配置的記憶體空間會逐步靠近,
就是說heap如果向下成長,stack就會向上成長,
借用此網站的程式結果: https://wp.mlab.tw/?p=312
此網站的程式結果是如同我上述所說的那樣逐步靠近,
但我自己在ubuntu底下用gcc跑出來的結果如下:
-----------------------------------------------
程式碼:
int main(){
int a;
int b;
int *f=malloc(sizeof(int));
int *g=malloc(sizeof(int));
printf("a:%p\n",&a);
printf("b:%p\n",&b);
printf("f:%p\n",f);
printf("g:%p\n",g);
}
------------------------------------------------
結果:
a:0xbf9334c0
b:0xbf9334c4
f:0x9f7f008
g:0x9f7f018
------------------------------------------------
無論我怎麼看都不覺得stack的成長趨勢會與heap互相靠近,
也與上述網站所跑的成果有差異,請問是OS關係嗎?還是我哪裡想錯了,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.20.149
※ 編輯: jwliang 來自: 118.160.20.149 (11/29 20:19)
其實我是想問Linux底下stack與heap之間成長的方向是否會相反,謝謝您的回答!
int main(){
int a;
int b;
int *f=malloc(sizeof(int));
int *g=malloc(sizeof(int));
a1();
printf("a:%p\n",&a);
printf("b:%p\n",&b);
printf("f:%p\n",f);
printf("g:%p\n",g);
}
int a1(){
int aa,aa2;
printf("aa:%p\n",&aa);
printf("aa:%p\n",&aa2);
}
執行結果:
aa:0xbfaf9968
aa:0xbfaf996c
a:0xbfaf9990
b:0xbfaf9994
f:0x9043008
g:0x9043018
恩...感覺他們還是一樣,不是會靠攏的,反而是一起往上成長!
※ 編輯: jwliang 來自: 118.160.20.149 (11/29 23:00)
... <看更多>