在linux中,軟體的格式是「ELF」;ELF是可執行連線檔案格式,主要用於描述檔案結構,是Linux、SVR4和「Solaris2.0」預設的目標檔案格式;ELF對節的定義和gnu工具鏈對它的支援使它十分靈活,並且支援動態連結共享庫。
本文操作環境:linux7.3系統、Dell G3電腦。
Linux 下,程式軟體是沒有副檔名的。
但格式是有的,叫作 ELF。 (主要是描述檔案結構,一般人不需要關注它)
ELF(Executable and Linkable Format)即可執行連接檔案格式,是一種比較複雜的檔案格式,但其應用廣泛。與linux下的其他可執行檔(a.out,cof)相比,它對節的定義和gnu工具鏈對它的支援使它十分靈活,它保存的足夠了系統相關資訊使它能支援不同平台上的交叉編譯和交叉鏈接,可移植性很強.同時它在執行中支援動態連結共享庫。
ELF檔案簡介
ELF(Executable and Linkable Format)即可執行連線檔案格式,是Linux,SVR4和Solaris2.0預設的目標檔案格式,目前標準介面委員會TIS已將ELF標準化為一種可移植的目標檔案格式,運行於32-bit Intel體系微電腦上,可與多種作業系統相容。分析elf檔案有助於理解一些重要的系統概念,例如程式的編譯和鏈接,程式的載入和運行等。
(1)ELF檔案類型:
類型的ELF檔案:
a)可重新定位檔案:使用者和其他目標檔案一起建立執行檔或共用目標檔,例如lib*.a檔。
b)執行檔:用於產生進程映像,載入記憶體執行,例如編譯好的可執行檔a.out。
c)共享目標檔案:用於和其他共享目標檔案或可重定位檔案一起產生elf目標檔案或與執行檔一起建立進程映像,例如lib*.so檔案。
(2)ELF檔案作用:
ELF檔案參與程式的連接(建立一個程式)和程式的執行(執行一個程式),所以可以從不同的角度來看待elf格式的檔案:
a)如果用於編譯和連結(可重定位檔案),則編譯器和連結器將把elf檔案看作是節頭表描述的節的集合,程序頭表可選。
b)如果用於載入執行(可執行檔),則載入器將把elf檔案看作是程式頭表描述的段的集合,一個段可能包含多個節,節頭表可選。
c)如果是共享文件,則兩者都含有。
相關推薦:《Linux影片教學》
以上是linux的軟體是什麼格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!