第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡要說明堆??蚣艿母拍?/h1>

看來我在編程語言設(shè)計中有了調(diào)用堆棧的想法。但是我找不到(也許我只是不夠努力地)關(guān)于什么是堆棧框架的任何體面的解釋。所以我想請某人向我解釋一下。
查看完整描述

3 回答

?
撒科打諢

TA貢獻(xiàn)1934條經(jīng)驗 獲得超2個贊

堆棧幀是被推入堆棧的數(shù)據(jù)幀。在調(diào)用堆棧的情況下,堆棧幀代表函數(shù)調(diào)用及其參數(shù)數(shù)據(jù)。

如果我沒記錯的話,函數(shù)的返回地址首先被壓入堆棧,然后是局部變量的參數(shù)和空間。盡管這可能取決于體系結(jié)構(gòu),但它們共同構(gòu)成了“框架”。處理器知道每個幀中有多少字節(jié),并在將幀壓入并彈出堆棧時相應(yīng)地移動堆棧指針。

編輯:

更高級別的調(diào)用堆棧和處理器的調(diào)用堆棧之間存在很大的差異。

當(dāng)我們談?wù)撎幚砥鞯恼{(diào)用堆棧時,我們談?wù)摰氖窃趨R編或機(jī)器代碼中以字節(jié)/字級別使用地址和值。在談?wù)摳呒壵Z言時,有“調(diào)用?!?,但是它們是運(yùn)行時環(huán)境管理的調(diào)試/運(yùn)行時工具,因此您可以(在較高級別)記錄程序出了什么問題。在此級別上,通常知道行號,方法和類名之類的東西。到處理器獲得代碼時,它完全沒有這些東西的概念。


查看完整回答
反對 回復(fù) 2019-11-22
?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊

如果您非常了解堆棧,那么您將了解內(nèi)存在程序中的工作方式,如果您了解內(nèi)存在程序中的工作方式,則將了解函數(shù)在程序中的存儲方式,如果您了解函數(shù)在程序中的存儲方式,則將了解遞歸函數(shù)的工作方式以及是否您了解遞歸函數(shù)的工作原理,您將了解編譯器的工作原理,如果您了解編譯器的工作原理,那么您的想法將像編譯器一樣工作,并且您將很容易調(diào)試任何程序


讓我解釋一下堆棧是如何工作的:


首先,您必須知道函數(shù)如何存儲在堆棧中:


堆存儲動態(tài)內(nèi)存分配值。堆棧存儲自動分配和刪除值。


在此處輸入圖片說明


讓我們用例子來理解:


def hello(x):

    if x==1:

        return "op"

    else:

        u=1

        e=12

        s=hello(x-1)

        e+=1

        print(s)

        print(x)

        u+=1

    return e


hello(4)

現(xiàn)在了解該程序的各個部分:


現(xiàn)在讓我們看看什么是堆棧以及什么是堆棧部分:


堆棧分配:


請記住一件事,無論任何函數(shù)加載了他的所有本地變量,或者任何將立即從堆棧返回的東西都將返回其堆??蚣?,該函數(shù)都會“返回”。這意味著當(dāng)任何遞歸函數(shù)獲得基本條件并且我們在基本條件之后放置return時,這樣基本條件將不會等待加載位于程序“ else”部分中的局部變量,它將立即從堆棧中返回當(dāng)前幀,現(xiàn)在如果返回一幀返回下一幀在激活記錄中。實際看到這一點:


塊的解除分配:


因此,現(xiàn)在無論何時找到返回語句的函數(shù),它都會從堆棧中刪除當(dāng)前幀。


從堆棧返回時,值將以它們在堆棧中分配的順序相反的順序返回。


查看完整回答
反對 回復(fù) 2019-11-22
?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

快速總結(jié)。也許有人有更好的解釋。

調(diào)用堆棧由1個或多個堆棧幀組成。每個堆棧幀對應(yīng)于對尚未返回的終止函數(shù)或過程的調(diào)用。

要使用堆棧框架,線程保留兩個指針,一個稱為堆棧指針(SP),另一個稱為幀指針(FP)。SP始終指向堆棧的“頂部”,而FP始終指向框架的“頂部”。此外,該線程還維護(hù)一個程序計數(shù)器(PC),該計數(shù)器指向要執(zhí)行的下一條指令。

以下內(nèi)容存儲在堆棧中:局部變量和臨時變量,當(dāng)前指令的實際參數(shù)(過程,函數(shù)等)

關(guān)于清理堆棧有不同的調(diào)用約定。


查看完整回答
反對 回復(fù) 2019-11-22
  • 3 回答
  • 0 關(guān)注
  • 739 瀏覽
慕課專欄
更多

添加回答

了解更多

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號