ELF檔案的四種分類

wenli7363發表於2024-07-09

可重定位檔案(Relocatable File):

檔案型別:.o檔案
用途:包含程式碼和資料段,供連結器(Linker)在連結過程中使用。這種檔案並不能直接執行,而是需要與其他可重定位檔案和庫連結,生成可執行檔案或共享庫。
標識:檔案頭中的e_type欄位值為ET_REL。
可執行檔案(Executable File):

檔案型別:實際的二進位制可執行檔案,如常見的Linux可執行檔案
用途:包含可以直接載入到記憶體並執行的程式碼和資料。這類檔案經過連結器處理,可以在作業系統載入器的幫助下執行。
標識:檔案頭中的e_type欄位值為ET_EXEC。
共享庫(Shared Object File):

檔案型別:.so檔案(windows中的DLL檔案)
用途:包含可以在執行時動態載入的程式碼和資料段。這種檔案通常用作動態連結庫,允許多個可執行檔案共享同一份程式碼,減少記憶體佔用和磁碟空間。
標識:檔案頭中的e_type欄位值為ET_DYN。
核心轉儲檔案(Core Dump File):

檔案型別:核心轉儲檔案
用途:儲存程序在某個時間點的記憶體映像,通常在程式崩潰時生成。開發人員可以使用這些檔案來除錯程式,找出導致崩潰的原因。
標識:檔案頭中的e_type欄位值為ET_CORE。

相關文章