新聞中心
本篇內(nèi)容主要講解“l(fā)inux中o和a文件指的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“l(fā)inux中o和a文件指的是什么”吧!

十載的河源網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整河源建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“河源網(wǎng)站設(shè)計(jì)”,“河源網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
在linux中,“.o”文件指的是目標(biāo)文件,即存放目標(biāo)代碼的計(jì)算機(jī)文件;目標(biāo)文件包含著機(jī)器代碼(可直接被計(jì)算機(jī)中央處理器執(zhí)行)以及代碼在運(yùn)行時(shí)使用的數(shù)據(jù),此外還包括其他調(diào)試信息?!?a”文件指的是靜態(tài)庫文件,是指要調(diào)用的函數(shù)或者過程鏈接到可執(zhí)行文件中,成為可執(zhí)行文件的一部分,動(dòng)態(tài)鏈接所調(diào)用的函數(shù)代碼并沒有被拷貝到應(yīng)用程序的可執(zhí)行文件中去,而是在其中加入了所調(diào)用函數(shù)的描述信息。
o就是object,也就是相當(dāng)于windows下編譯的obj文件,俗稱目標(biāo)文件
a就是archive,也就相當(dāng)于window的VC下編譯的lib文件,俗稱靜態(tài)庫文件;多個(gè).a可以鏈接生成一個(gè)exe的可執(zhí)行文件。
.o文件是鏈接文件,.a靜態(tài)庫文件,靠.o文件生成,作為一個(gè)庫外部程序提供函數(shù),接口。生成.o文件。
linux中的o文件(目標(biāo)文件)
目標(biāo)文件(objectfile)即存放目標(biāo)代碼的計(jì)算機(jī)文件,它常被“稱作”二進(jìn)制文件(binaries)。目標(biāo)文件包含著機(jī)器代碼(可直接被計(jì)算機(jī)中央處理器執(zhí)行)以及代碼在運(yùn)行時(shí)使用的數(shù)據(jù),如重定位信息,如用于鏈接或調(diào)試的程序符號(hào)表(變量和函數(shù)的名字),此外還包括其他調(diào)試信息。
Linux下有3種目標(biāo)文件形式:
可執(zhí)行目標(biāo)文件,可重定位目標(biāo)文件和共享目標(biāo)文件。也有對(duì)應(yīng)的稱為可執(zhí)行文件,目標(biāo)文件,共享庫,只是說法不同,指的都是同樣的東西。
可執(zhí)行目標(biāo)文件:包含二進(jìn)制代碼和數(shù)據(jù),可以在存儲(chǔ)器中直接執(zhí)行。
可重定位目標(biāo)文件:包含二進(jìn)制代碼和數(shù)據(jù),可以在編譯時(shí)與其他可重定位目標(biāo)文件合并起來的,創(chuàng)建一個(gè)可執(zhí)行目標(biāo)文件。
共享目標(biāo)文件:是一種特殊的可重定位目標(biāo)文件,可以在加載或者運(yùn)行時(shí)被動(dòng)態(tài)加載到存儲(chǔ)器并鏈接。
事實(shí)上,編譯器和匯編器生成可重定位目標(biāo)文件(包含共享目標(biāo)文件)。鏈接器生成可執(zhí)行目標(biāo)文件。
Linux下目標(biāo)文件文件格式:
由于編譯后的中間文件(Windows下的.obj和Linux下的.o),動(dòng)態(tài)鏈接庫和靜態(tài)鏈接庫(Windows下的.lib.dll和Linux下的.a.so),跟可執(zhí)行文件的內(nèi)容和結(jié)構(gòu)相似,所以一般跟可執(zhí)行文件一起采用同一種文件格式存儲(chǔ)。
linux中的a文件(靜態(tài)庫文件)
.a文件,是LINUX系統(tǒng)中的靜態(tài)鏈接庫文件。
所謂靜態(tài)鏈接是指把要調(diào)用的函數(shù)或者過程鏈接到可執(zhí)行文件中,成為可執(zhí)行文件的一部分。當(dāng)多個(gè)程序都調(diào)用相同函數(shù)時(shí),內(nèi)存中就會(huì)存在這個(gè)函數(shù)的多個(gè)拷貝,這樣就浪費(fèi)了寶貴的內(nèi)存資源。.so文件是共享庫文件(動(dòng)態(tài)鏈接)。動(dòng)態(tài)鏈接所調(diào)用的函數(shù)代碼并沒有被拷貝到應(yīng)用程序的可執(zhí)行文件中去,而是僅僅在其中加入了所調(diào)用函數(shù)的描述信息(往往是一些重定位信息),僅當(dāng)應(yīng)用程序被裝入內(nèi)存開始運(yùn)行時(shí),在操作系統(tǒng)的管理下,才在應(yīng)用程序與相應(yīng)的.so之間建立鏈接關(guān)系。
.a文件是多個(gè).o文件的組合。.o文件就是對(duì)象文件,里面包含的內(nèi)容就是01這樣的機(jī)器可執(zhí)行的指令,當(dāng)程序要執(zhí)行時(shí)還需要進(jìn)行鏈接(link).鏈接就是把多個(gè).o文件鏈成一個(gè)可執(zhí)行文件。
什么是Linux系統(tǒng)
Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。
到此,相信大家對(duì)“l(fā)inux中o和a文件指的是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁題目:linux中o和a文件指的是什么
URL標(biāo)題:http://fisionsoft.com.cn/article/pdscsp.html


咨詢
建站咨詢
