日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机栈原理

發布時間:2024/1/23 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机栈原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.開篇

  本篇文章著重寫的是系統中棧的工作原理,以及函數調用過程中棧幀的產生與釋放的過程,有可能名字過大,如果不合適我可以換一個名字,希望大家能夠指正,小丁虛心求教!如果有哪里寫的不清楚的或者錯誤的地方請及時更正,小丁再次謝過了。文章里面有錯別字,也可能會有好友說寄存器的32、16位的區別其實我感覺這里主要講的還是些原理性的東西,后續會將文章圖片錯別字進行調整.(圖片里面的posh改為push)

2.內存的不同用途

  根據不同的操作系統,一個進程可能被分配到不同的內存區域去執行。但是不管什么樣的操作系統、什么樣的計算機架構,進程使用的內存都可以按照功能大致分為以下4個部分:

  (1)代碼區:這個區域存儲著被裝入執行的二進制機器代碼,處理器會到這個區域取指并執行。

  (2)數據區:用于存儲全局變量等。

  (3)堆區:進程可以在堆區動態地請求一定大小的內存,并在用完之后歸還給堆區。動態分配和回收是堆區的特點。

  (4)棧區:用于動態地存儲函數之間的關系,以保證被調用函數在返回時恢復到母函數中繼續執行。

  在Windows平臺下,高級語言寫出的程序經過編譯鏈接,最終會變成PE文件。當PE文件被裝載運行后,就成了所謂的進程。

  PE文件代碼段中包含的二進制級別的機器代碼會被裝入內存的代碼區(.text),處理器將到內存的這個區域一條一條地取出指令和操作數,并送入運算邏輯單元進行運算;如果代碼中請求開辟動態內存,則會

總結

以上是生活随笔為你收集整理的计算机栈原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。