不是很分得清什么樣的情況存儲在代碼段內存,什么樣的在棧內存?請大神講解。
按照老師視頻的講解我的理解是,調試的時候,剛開始打印兩個函數(shù)名地址都是在,代碼段;然后進入函數(shù)內部,打印函數(shù)內部變量的時候就到了棧內存了,請問是這樣的嗎?
還有一個疑問就是,如何打印出函數(shù)內部變量在代碼段中的存儲位置?
按照老師視頻的講解我的理解是,調試的時候,剛開始打印兩個函數(shù)名地址都是在,代碼段;然后進入函數(shù)內部,打印函數(shù)內部變量的時候就到了棧內存了,請問是這樣的嗎?
還有一個疑問就是,如何打印出函數(shù)內部變量在代碼段中的存儲位置?
2017-06-01
舉報
2017-06-06
謝謝,但是這樣打印出來還是棧內存的呢~
2017-06-06
一般把源代碼編譯完成為目標文件的代碼就存在代碼段;
調用的函數(shù)指針的順序就存放在棧內存,可以理解為棧的先進后出就是函數(shù)的調用的順序;
打印函數(shù)內部變量在代碼段的存儲位置:首先要用bt 顯示你的棧內存順序,再用f + 編號,進去你想打印變量所在的函數(shù)里面,再用p+ &變量名字,即可打??;