PC平臺(tái)流行的可執(zhí)行文件格式:
(可執(zhí)行文件殊校、動(dòng)態(tài)鏈接庫(dll)榨了、靜態(tài)鏈接庫(lib)都是以可執(zhí)行文件的格式存儲(chǔ)的)
- Windows --- PE(Portable Executable)
- Linux --- ELF(Executable Linker Format)
- 可重定位文件
- 可執(zhí)行文件
- 共享目標(biāo)文件(包含了代碼和數(shù)據(jù)识颊,一種是鏈接器使用這種文件跟其他的共享目標(biāo)文件和可重定位文件鏈接杂拨,另一種是動(dòng)態(tài)鏈接器將幾個(gè)這種文件和可執(zhí)行文件結(jié)合锡凝,作為進(jìn)程映像的一個(gè)部分來運(yùn)行)
- 核心轉(zhuǎn)儲(chǔ)文件(進(jìn)城意外終止時(shí)杉女,將該進(jìn)程的內(nèi)容和其他信息轉(zhuǎn)儲(chǔ)到這里)
目標(biāo)文件什么樣子
- 代碼段 : 程序源代碼編譯后的機(jī)器指令(常見名字有.code和.text)
- 數(shù)據(jù)段 : 全局變量和局部靜態(tài)變量(已初始化的放在.data,未初始化的放在.bss里)
- .bss只是為未初始化的全局變量和局部靜態(tài)變量預(yù)留位置倾剿,它沒有內(nèi)容筷频,所以在文件中也不占空間。