天天看點

BSS-轉自百度百科BSS

BSS

  是“Block Started by Symbol”的縮寫,意為“以符号開始的塊”。  BSS是Unix連結器産生的未初始化資料段。其他的段分别是包含程式代碼的“text”段和包含已初始化資料的“data”段。 BSS段的變量隻有名稱和大小卻沒有值。此名後來被許多 檔案格式使用,包括PE。“以符号開始的塊”指的是 編譯器處理未初始化資料的地方。BSS節不包含任何資料,隻是簡單的維護開始和結束的位址,以便記憶體區能在運作時被有效地清零。BSS節在 應用程式的二進制映象檔案中并不存在。  在采用段式 記憶體管理的架構中(比如intel的80x86系統),bss段(Block Started by Symbol segment)通常是指用來存放程式中未初始化的全局變量的一塊記憶體區域,一般在初始化時bss 段部分将會清零。bss段屬于靜态記憶體配置設定,即程式一開始就将其清零了。  比如,在C語言之類的程式編譯完成之後,已初始化的全局變量儲存在.data 段中,未初始化的全局變量儲存在.bss 段中。  text和data段都在 可執行檔案中(在嵌入式系統裡一般是固化在鏡像檔案中),由系統從可執行檔案中加載;而bss段不在可執行檔案中,由 系統初始化。

繼續閱讀