综合技术
直播中

杨悟牛

7年用户 154经验值
私信 关注
[问答]

请问区域变数是一开始就在stack了吗?

昨天跟朋友討論到這個問題~~
我所知的區域變數一開始就是在stack了...當函數執行結束後 該位址才可能被其他數據占用
他卻跟我說 區域變數是當呼叫其他涵式時才會被壓棧...
我跟他說呼叫函數時~會壓棧只有返回地址跟函數的參數~如果是中斷應該只有返回地址壓棧
他卻認為~保存現場壓棧的東西包含了...呼叫函數所在的區域的區域變數 <===主要問題在這裡..這些東西不是本來就在stack裡了嗎?
以上是無OS的情況唷~~請問哪個是對的阿~~可以簡單舉個例子嗎...
PS:我知道google很多這方面的資料 只是我傳給他看 他認為我誤會網站上的意思~~

回帖(4)

倪山骋

2020-3-12 07:41:34
楼主可以好好看看这个帖子:http://www.openedv.com/posts/list/24152.htm
举报

李聪聪

2020-3-12 07:50:31
***朋友的术语和我们不一样,挺有意思的,不知道我理解对不对
變數      =  变量
區域變數 = 局部变量
呼叫      = 调用
举报

尹星

2020-3-12 07:57:01
對喔~哈哈
之前剛開始接觸簡體書時 也一些詞看不懂...
例如: 缺省值(default)、楨(frame)
看習慣了之後跟老師講話 又一直被糾正 
寄存器(register)      ==>暫存器
總線(BUS)              ==>匯流排
硬體的出差大陸也有回來講
晶體   <===三極管
二極體<===二極管
還有你們稱呼人的時候 都會稱呼 姓+工
例如 楊工 張工 林工的...我一開始還想成 這個"公" 想說是什麼意思...
举报

tijing忽忽

2020-3-12 08:02:20
硬體 = 硬件,我们都是硬体工程师,哈哈
举报

更多回帖

发帖
×
20
完善资料,
赚取积分