函數(shù)調(diào)用棧圖解 棧用來調(diào)用函數(shù)時(shí)保護(hù)斷點(diǎn),局部變量為什么也入棧?
棧用來調(diào)用函數(shù)時(shí)保護(hù)斷點(diǎn),局部變量為什么也入棧?在堆棧中按下局部變量以釋放更多寄存器,這些寄存器可以靈活地用于實(shí)現(xiàn)特定的操作。當(dāng)操作不需要引用局部變量時(shí),局部變量在堆棧中。當(dāng)操作需要局部變量時(shí),局部變
棧用來調(diào)用函數(shù)時(shí)保護(hù)斷點(diǎn),局部變量為什么也入棧?
在堆棧中按下局部變量以釋放更多寄存器,這些寄存器可以靈活地用于實(shí)現(xiàn)特定的操作。當(dāng)操作不需要引用局部變量時(shí),局部變量在堆棧中。當(dāng)操作需要局部變量時(shí),局部變量的值從堆棧中取到寄存器。
局部變量也駐留在寄存器中,即在定義局部變量時(shí)添加寄存器。
堆棧頂部有一個指針寄存器SP。當(dāng)按下堆棧時(shí),您可以使用SP來確定某個偏移量(這些偏移量是在編譯時(shí)確定的,在運(yùn)行時(shí)找不到),以獲取存儲局部變量的位置,這樣您就可以從該位置讀取局部變量的值,而不必通過stack out操作獲取它們的值。