這篇文章主要講解了“l(fā)inux的軟件格式是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“l(fā)inux的軟件格式是什么”吧!
創(chuàng)新互聯(lián)建站IDC提供業(yè)務(wù):德陽機房服務(wù)器托管,成都服務(wù)器租用,德陽機房服務(wù)器托管,重慶服務(wù)器租用等四川省內(nèi)主機托管與主機租用業(yè)務(wù);數(shù)據(jù)中心含:雙線機房,BGP機房,電信機房,移動機房,聯(lián)通機房。
在linux中,軟件的格式是“ELF”;ELF是可執(zhí)行連接文件格式,主要用于描述文件結(jié)構(gòu),是Linux、SVR4和“Solaris2.0”默認的目標(biāo)文件格式;ELF對節(jié)的定義和gnu工具鏈對它的支持使它十分靈活,并且支持動態(tài)鏈接共享庫。
本文操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
Linux 下,程序軟件是沒有擴展名的。
但格式是有的,叫作 ELF。(主要就是描述文件結(jié)構(gòu),一般人不需要關(guān)注它)
ELF(Executable and Linkable Format)即可執(zhí)行連接文件格式,是一種比較復(fù)雜的文件格式,但其應(yīng)用廣泛。與linux下的其他可執(zhí)行文件(a.out,cof)相比,它對節(jié)的定義和gnu工具鏈對它的支持使它十分靈活,它保存的足夠了系統(tǒng)相關(guān)信息使它能支持不同平臺上的交叉編譯和交叉鏈接,可移植性很強.同時它在執(zhí)行中支持動態(tài)鏈接共享庫。
ELF文件簡介
ELF(Executable and Linkable Format)即可執(zhí)行連接文件格式,是Linux,SVR4和Solaris2.0默認的目標(biāo)文件格式,目前標(biāo)準(zhǔn)接口委員會TIS已將ELF標(biāo)準(zhǔn)化為一種可移植的目標(biāo)文件格式,運行于32-bit Intel體系微機上,可與多種操作系統(tǒng)兼容。分析elf文件有助于理解一些重要的系統(tǒng)概念,例如程序的編譯和鏈接,程序的加載和運行等。
(1)ELF文件類型:
種類型的ELF文件:
a)可重定位文件:用戶和其他目標(biāo)文件一起創(chuàng)建可執(zhí)行文件或者共享目標(biāo)文件,例如lib*.a文件。
b)可執(zhí)行文件:用于生成進程映像,載入內(nèi)存執(zhí)行,例如編譯好的可執(zhí)行文件a.out。
c)共享目標(biāo)文件:用于和其他共享目標(biāo)文件或者可重定位文件一起生成elf目標(biāo)文件或者和執(zhí)行文件一起創(chuàng)建進程映像,例如lib*.so文件。
(2)ELF文件作用:
ELF文件參與程序的連接(建立一個程序)和程序的執(zhí)行(運行一個程序),所以可以從不同的角度來看待elf格式的文件:
a)如果用于編譯和鏈接(可重定位文件),則編譯器和鏈接器將把elf文件看作是節(jié)頭表描述的節(jié)的集合,程序頭表可選。
b)如果用于加載執(zhí)行(可執(zhí)行文件),則加載器則將把elf文件看作是程序頭表描述的段的集合,一個段可能包含多個節(jié),節(jié)頭表可選。
c)如果是共享文件,則兩者都含有。
感謝各位的閱讀,以上就是“l(fā)inux的軟件格式是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對linux的軟件格式是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!