連接器腳本 .bls bss data text stack

BSS段

在採用段內存管理的架構中,BSS段(bss segment)通常是指用來存放程序中未初始化的全局變量的一塊內存區域。BSS是英文Block Started by Symbol的簡稱。BSS段屬於靜態內存分配段。

數據段

在採用段式內存管理的架構中,數據段(data segment)通常是指用來存放程序中已初始化的全局變量的一塊內存區域。數據段屬於靜態內存分配。

代碼段

在採用段式內存管理的架構中,代碼段(text segment)通常是指用來存放程序執行代碼的一塊內存區域。這部分區域的大小在程序運行前就已經確定,並且內存區域屬於只讀。在代碼段中,也有可能包含一些只讀的常數變量,例如字符串常量等。

堆棧

堆棧又稱堆棧(stack)在計算機科學中,是一種特殊的鏈表形式的數據結構,它的特殊之處在於只能允許在鏈表的一端(稱爲棧頂,英文爲top)進行添加和刪除操作。另外堆棧數據結構的實現也可以通過數組來完成。

嚴格來說堆是指Heap,程序運行時供程序員來支配的一段內存。而棧Stack,多指函數調用時候參數的相互傳遞存在的內存區域。

由於堆棧數據結構只允許在一端進行操作,因而按照先進後出(LIFO-Last In First Out)的原理工作。

堆棧數據結構支持兩種基本操作:壓棧(push)和彈棧(pop):

1. 壓棧(入棧):將對象或者數據壓入棧中,更新棧頂指針,使其指向最後入棧的對象或數據。

2. 彈棧(出棧):返回棧頂指向的對象或數據,並從棧中刪除該對象或數據,更新棧頂

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章