星期一, 11月 09, 2015

Memory Layout of C

近來開發Arduino遇到了記憶體配置的問題, 但Arduino內沒有足夠的debug資訊讓我了解是stack或heap overflow, 所以我想透過stack或者heap的指標位址來判斷可用的記憶體空間.


爬完wiki上的Data segmanet介紹, heap在下stack在上, heap跟stack是面對面, 中間夾出的區域就是可用的記憶體空間. 但是我先用visual C++來驗證, 卻發現跟wiki描述的不符, 似乎是相反過來的!?

後來在stackoverflow找到有人跟我同樣疑惑, 看來是linux/windows在記憶體配置上是有差異的.

win32的記憶體配置應該如下圖, heap跟stack是背對背, 往不同方向去成長.

沒有留言:

Mr.Color飛機模型用Color 與 水性AQUEOUS HobbyColor 對照表

          最近跟兒子一起研究長谷川的飛機模型, 其中說明書中採用的模型漆色號以Mr.Color硝基漆為主, 水性漆AQUEOUS 為輔. 很多Mr.Color有的顏色, AQUEOUS 都沒有, 前100的色號大致上都有對應到, 但Mr.Color 300號以後的都是特...