課程
/后端開發
/C
/Linux C語言指針與內存
是不是CPU一個線程就是控制一個棧
2015-06-06
源自:Linux C語言指針與內存 4-5
正在回答
棧在程序的運行中有著舉足輕重的作用。最重要的是棧保存了一個函數調用時所需要的維護信息,這常常稱之為堆棧幀或者活動記錄。堆棧幀一般包含如下幾方面的信息:
1.函數的返回地址和參數
2. 臨時變量:包括函數的非靜態局部變量以及編譯器自動生成的其他臨時變量。
首先你要知道,由于外部環境變化,某些函數每一次執行都會返回不同的結果。最典型的就是取隨機數函數了
而棧里面存著的就是這些東西。所以,每一個線程都會得到不同的結果,每一個線程也都需要一個存著這個結果的棧!
冷掉了 提問者
舉報
指針-C語言的核心,代領大家對c語言有更加深刻的理解
3 回答一個字節不是8個二進制位嗎?32位地址總線怎么就能表示出4G的內存了?
3 回答棧不是從高位向低位分配嗎?
2 回答這個程序是什么意思?
5 回答為什么32位是4GB 啊,一個字節不是有8位么,這樣說理論管理的內存不是應該是512mb么
3 回答一個字節用幾位十六進制表示?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-06-07
棧在程序的運行中有著舉足輕重的作用。最重要的是棧保存了一個函數調用時所需要的維護信息,這常常稱之為堆棧幀或者活動記錄。堆棧幀一般包含如下幾方面的信息:
1.函數的返回地址和參數
2. 臨時變量:包括函數的非靜態局部變量以及編譯器自動生成的其他臨時變量。
首先你要知道,由于外部環境變化,某些函數每一次執行都會返回不同的結果。最典型的就是取隨機數函數了
而棧里面存著的就是這些東西。所以,每一個線程都會得到不同的結果,每一個線程也都需要一個存著這個結果的棧!