上面是畫的簡單的棧。
ld暫存器
lr(link register),連線暫存器的英文縮寫,在arm體系結構中lr的特殊用途有兩種:一是用來儲存子程式返回位址;二是當異常發生時,lr中儲存的值等於異常發生時pc的值減4(或者減2),因此在各種異常模式下可以根據lr的值返回到異常發生前的相應位置繼續執行。
lr 用來跳轉回原來的函式
可以從反彙編得到
s***b sp!
s***b sp!
等等 這樣的彙編指令
說明了 這個函式的棧空間裡面有幾類數值
關於棧空間多大?
那麼就是 n(棧空間裡面有幾類數值)+sp更多偏移值
注意 棧空間裡面有幾類數值 都是32位的,以上暫存器(r4,r5,r6,r7,r8,fp,ip,lr,pc)暫存器。都是32位的,當然是因為在 32位cpu。
ORACLE相關內容
1 em,dbca,netca,netmgr出現亂碼方案 cd oracle home jre lib mv font.properties font.properties.bak mv font.properties.zh font.properties em,dbca,netca,netmgr詳...
JVM相關內容
本地 native code 每個因素對記憶體占用的影響又會隨著應用程式 執行環境和系統平台的不同而變化,那怎樣計算總的記憶體佔用量?是的,想得到乙個準確的數字不是那麼容易,因為 你很難控制本地 native 部分。你能控制的部分只有堆大小 xmx,類占用的記憶體 xx maxpermsize,還有...
指標相關內容
1.指標是變數,佔4位元組,存放的是位址 2.指標型別與零值比較 if n null 或者if n null 3.野指標 int p 空指標 int p null 避免野指標 以char型別為例 char p char mallloc sizeof char 10 要包含標頭檔案 include 使...