基于linux程序中段總結詳解
linux程序的段陸陸續(xù)續(xù)接觸過一些,今天適當?shù)目偨Y一下,時間倉促,總結的比較零散。
linux 段:
text:已編譯程序的機器代碼。
.rodata:只讀數(shù)據(jù)。printf中的格式串,或者開關語句的跳轉表。
data:已初始化的全局變量。
bss:未初始化的全局變量。
symtab:符號表。
注意:
1、如果定義一個全局變量,int i = 0;它被初始化為0,但是,它卻不是放在data段中的,而是放在bss段中的。因為編譯器可能會做一些優(yōu)化,如果初始化為0,則它會將它等同于未初始化的變量。這樣的可能要求他會將所有未初始化的全局變量(bss段)初始化為0。——但是這個可能會和編譯器有關系。
2、對于static全局變量,它在符號表中有一個屬性表示他是local的,不是global。local的符號式不允許被其他的文件引用的。
3、static定義的局部變量,編譯器會把它作為static全局變量來處理。它在符號表中是出現(xiàn)的(局部變量是不出現(xiàn)的)。唯一不同的是,它會把它在符號表中的名字改掉,一般會增加一個后綴:“.1788”。用這種方法來防止和其他的全局變量重名。而且也可以防止對它的調(diào)用。
相關文章
haproxy+keepalived實現(xiàn)高可用負載均衡(實例配置)
上一篇文章以理論介紹居多,這篇文章就以實際的應用配置為主,需要的朋友可以參考下這兩篇文章2013-01-01
PHP程序員玩轉Linux系列 使用supervisor實現(xiàn)守護進程
這篇文章主要為大家詳細介紹了PHP程序員玩轉Linux系列文章,使用supervisor實現(xiàn)守護進程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04
linux free命令以及系統(tǒng)內(nèi)存占用過高的處理方式
這篇文章主要介紹了linux free命令以及系統(tǒng)內(nèi)存占用過高的處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
Linux下安裝IPython配置python開發(fā)環(huán)境教程
這篇文章主要為大家詳細介紹了Linux下安裝IPython配置python開發(fā)環(huán)境教程,需要的朋友可以參考下2016-05-05

