瀏覽單個文章
巴豆妖
*停權中*
 
巴豆妖的大頭照
 

加入日期: Jan 2008
文章: 10
引用:
作者booger
1.問個更白痴的問題,function會使用stack儲存,不是因為function本身只是個位址嗎?

2.那麼function本身的區域變數不也是存在data段...之類的?

3.請問「被白痴覆寫」指的是哪種情況?

1. 是我白痴, 寫太短了 不好意思, 讓你誤會了,
我指的是 function 內的變數, 因為題目是字串
字串會在這二個地方出現, globe 和 local
2. 不是, 是在 stack, 你用 debug tool 像 GDB 去看, 你就會看到..
3. 有人的 Pointer 亂掉, 被指到你的字串位址, 或明明 255 大小字串, loop 個 256
最後一個字會蓋到下一個變數, 至於是哪一個, 看 link 完後的 map 檔,
不過通常是你 code 的下一個

至於你說的 function 是個位址, 是的, 是個位址, 由 link 決定放那, 但因為是程式碼,
所以本體程式碼會放在 text section
 
舊 2011-12-31, 06:01 PM #52
回應時引用此文章
巴豆妖離線中