BSS(二進制檔案術語)

BSS是是Unix連結器產生的未初始化數據段。

基本介紹

  • 中文名:BSS
  • 外文名:Block Started by Symbol
  • 全稱:Block Started by Symbol
  • 意為:以符號開始的塊
基本介紹,結構,

基本介紹

是“Block Started by Symbol”的縮寫,意為“以符號開始的塊”。
BSS是Unix連結器產生的未初始化數據段。其他的段分別是包含程式代碼的“text”段和包含已初始化數據的“data”段。BSS段的變數只有名稱和大小卻沒有值。此名後來被許多檔案格式使用,包括PE。“以符號開始的塊”指的是編譯器處理未初始化數據的地方。BSS節不包含任何數據,只是簡單的維護開始和結束的地址,以便記憶體區能在運行時被有效地清零。BSS節在應用程式的二進制映象檔案中並不存在。

結構

在採用段式記憶體管理的架構中(比如intel的80x86系統),bss段(Block Started by Symbol segment)通常是指用來存放程式中未初始化的全局變數的一塊記憶體區域,一般在初始化時bss 段部分將會清零。bss段屬於靜態記憶體分配,即程式一開始就將其清零了。
比如,在C語言之類的程式編譯完成之後,已初始化的全局變數保存在.data 段中,未初始化的或初始化為0全局變數保存在.bss 段中。
text和data段都在執行檔中(在嵌入式系統里一般是固化在鏡像檔案中),由系統從執行檔中載入;而bss段不在執行檔中,由系統初始化

相關詞條

熱門詞條

聯絡我們