複製鏈接
請複製以下鏈接發送給好友

BSS

(二進制文件術語)

鎖定
BSS是是Unix鏈接器產生的未初始化數據段。
中文名
BSS
外文名
Block Started by Symbol
全    稱
Block Started by Symbol
意    為
以符號開始的塊

目錄

BSS基本介紹

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

BSS結構

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