Linux系統中o和a代表什麼?有何作用?
在Linux系統中,“o”指的是目標檔案,即存放目的碼的計算機檔案;“a”指的是靜態庫檔案,是指要呼叫的函式或者過程連結到可執行檔案中,成為可執行檔案的一部分。接下來我們一起來看看詳細的內容介紹。
O就是object,也就是相當於Windows下編譯的obj檔案,俗稱目標檔案。
a就是archive,也就相當於Windows的VC下編譯的lib檔案,俗稱靜態庫檔案;多個.a可以連結生成一個exe的可執行檔案。
.o檔案是連結檔案,.a靜態庫檔案,靠.o檔案生成,作為一個庫外部程式提供函式,介面。生成.o檔案。
Linux中的O檔案
目標檔案即存放目的碼的計算機檔案,它常被稱作二進位制檔案。目標檔案包含著機器程式碼以及程式碼在執行時使用的資料,如重定位資訊,如用於連結或除錯的程式符號表,此外還包括其他除錯資訊。
Linux下3種目標檔案形式
可執行目標檔案,可重定位目標檔案和共享目標檔案。也有對應的稱為可執行檔案,目標檔案,共享庫,只是說法不同,指的都是同樣的東西。
可執行目標檔案:包含二進位製程式碼和資料,可以在儲存器中直接執行。
可重定位目標檔案:包含二進位製程式碼和資料,可以在編譯時與其他可重定位目標檔案合併起來的,建立一個可執行目標檔案。
共享目標檔案:是一種特殊的可重定位目標檔案,可以在載入或者執行時被動態載入到儲存器並連結。
Linux下目標檔案檔案格式
由於編譯後的中間檔案,動態連結庫和靜態連結庫,跟可執行檔案的內容和結構相似,所以一般跟可執行檔案一起採用同一種檔案格式儲存。
Linux中的a檔案
a檔案,是Linux系統中的靜態連結庫檔案。
所謂靜態連結是指把要呼叫的函式或者過程連結到可執行檔案中,成為可執行檔案的一部分。當多個程式都呼叫相同函式時,記憶體中就會存在這個函式的多個複製,這樣就浪費了寶貴的記憶體資源。.so檔案是共享庫檔案。動態連結所呼叫的函式程式碼並沒有被複製到應用程式的可執行檔案中去,而是僅僅在其中加入了所呼叫函式的描述資訊,僅當應用程式被裝入記憶體開始執行時,在作業系統的管理下,才在應用程式與相應的.so之間建立連結關係。
.a檔案是多個.o檔案的組合。.o檔案就是物件檔案,裡麵包含的內容就是01這樣的機器可執行的指令,當程式要執行時還需要進行連結.連結就是把多個.o檔案鏈成一個可執行檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2940227/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux中rwx分別代表什麼?其作用有哪些?Linux
- Linux系統中的list命令有何作用?Linux
- Linux是什麼系統?Linux系統有何優勢?Linux
- Linux中虛擬網路卡是什麼?有何作用?Linux
- Linux中proc檔案系統是什麼意思?有什麼作用?Linux
- Linux中yum有何作用?主要功能是什麼?Linux
- Linux系統中501代表什麼許可權?Linux
- Linux中什麼是inode?有什麼作用?Linux
- Linux系統中find命令語法格式是什麼?作用有哪些?Linux
- 零信任中sdp是什麼?有何作用?
- CRM系統有什麼作用?
- 在Linux中,程序和執行緒有何作用?Linux執行緒
- Linux系統中掛載是什麼意思?作用是什麼?Linux
- Linux中公有云是什麼?有什麼作用?Linux
- Linux中fork和exec是什麼?有何區別?Linux
- Linux系統中執行許可權是什麼?rwx分別代表什麼?Linux
- Linux系統中tmp指什麼檔案?其作用是什麼?Linux
- Linux中uuid是什麼?作用有哪些?LinuxUI
- 什麼是Linux系統?Linux系統有什麼特點?Linux
- 什麼是主鏈系統?主鏈系統有什麼作用?
- Linux中cd命令有何作用?如何使用?Linux
- Linux裡面locale命令有何作用?語法格式是什麼?Linux
- Linux中RAID有哪幾種?分別代表什麼意思?LinuxAI
- Linux中什麼是套接字檔案?有什麼作用?Linux
- Linux中Kdump是什麼?其作用有哪些?Linux
- ERP系統對企業有什麼作用和價值?
- ERP系統與CRM系統有何區別?進行整合有何作用?
- python中,"_"和"__"的作用有什麼不同?Python
- Linux系統中有哪些目錄結構?分別有什麼作用?Linux
- Linux中type命令有什麼作用?語法格式是什麼?Linux
- Linux系統中net目錄有什麼用?Linux
- CRM客戶管理系統有什麼作用?
- Linux系統中ext3和ext4有什麼不同?Linux
- Linux具有哪些作用?Linux有什麼特性?Linux
- Linux中ansible作用是什麼?有哪些特點?Linux
- Linux中打包和壓縮是什麼?兩者有何區別?Linux
- CDN節點指什麼?有何作用?-ElinkcloudCloud
- 免費OA中的專案管理系統有什麼作用?專案管理