[C 的那些眉角]Stack Overflow — 嵌入式的堆疊管理

一聽到 Stack Overflow 這個名字,
大部分工程師第一個想到的是那個問答網站。

但在嵌入式開發,Stack Overflow 是一個真實會發生的災難,
而且症狀往往讓你完全摸不著頭緒。

程式跑著跑著突然 reset,
某個全域變數的值莫名其妙被改掉,
函式回傳之後跳到奇怪的位址,
或是程式直接進入 HardFault Handler,
然後你盯著 register dump 發愁。

這些症狀背後,很多時候都是同一個原因:
Stack 被寫爆了。

閱讀全文