久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux中.a文件指的是什么

166次閱讀
沒有評論

共計 1014 個字符,預計需要花費 3 分鐘才能閱讀完成。

這篇文章主要介紹了 linux 中.a 文件指的是什么的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇 linux 中.a 文件指的是什么文章都會有所收獲,下面我們一起來看看吧。

在 linux 中,“.a”文件是靜態鏈接庫文件;靜態鏈接庫文件是指要調用的函數或者過程鏈接到可執行文件中,成為可執行文件的一部分,動態鏈接所調用的函數代碼并沒有被拷貝到應用程序的可執行文件中去,而是在其中加入了所調用函數的描述信息。

本教程操作環境:linux7.3 系統、Dell G3 電腦。

linux 中.a 是什么文件

.a 文件,是 LINUX 系統中的靜態鏈接庫文件。

所謂靜態鏈接是指把要調用的函數或者過程鏈接到可執行文件中,成為可執行文件的一部分。當多個程序都調用相同函數時,內存中就會存在這個函數的多個拷貝,這樣就浪費了寶貴的內存資源。.so 文件是共享庫文件(動態鏈接)。動態鏈接所調用的函數代碼并沒有被拷貝到應用程序的可執行文件中去,而是僅僅在其中加入了所調用函數的描述信息(往往是一些重定位信息),僅當應用程序被裝入內存開始運行時,在操作系統的管理下,才在應用程序與相應的.so 之間建立鏈接關系。

.a 文件是多個.o 文件的組合。.o 文件就是對象文件,里面包含的內容就是 01 這樣的機器可執行的指令,當程序要執行時還需要進行鏈接 (link). 鏈接就是把多個.o 文件鏈成一個可執行文件。

擴展知識

.o 就是 object, 也就相當于 windows 下編譯的 obj 文件, 俗稱目標文件.

.a 就是 archive, 也就相當于 windows 的 VC 下編譯的 lib 文件, 俗稱靜態庫文件.

.o 文件是鏈接文件,.a 是靜態庫文件,靠.o 文件生成,作為一個庫為外部程序提供函數,接口。

生成.o 文件:

gcc -c test.o test.c

生成.a 文件:

ar cqs test.a test.o

.o 就相當于 windows 里的 obj 文件,一個.c 或.cpp 文件對應一個.o 文件

.a 是好多個.o 合在一起, 用于靜態連接,即 STATIC mode,多個.a 可以鏈接生成一個 exe 的可執行文件

.so 是 shared object, 用于動態連接的, 和 windows 的 dll 差不多,使用時才載入

關于“linux 中.a 文件指的是什么”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“linux 中.a 文件指的是什么”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-29發表,共計1014字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 肥乡县| 慈溪市| 邵东县| 昌邑市| 宝丰县| 成武县| 高平市| 嘉善县| 麻栗坡县| 吉隆县| 遵义县| 修武县| 长治市| 苗栗县| 红河县| 夏邑县| 霍林郭勒市| 察隅县| 海林市| 仁化县| 崇文区| 江津市| 神木县| 麻阳| 沈阳市| 十堰市| 吉安县| 盐津县| 高清| 葫芦岛市| 金湖县| 德州市| 丰城市| 建瓯市| 宿州市| 宁武县| 施秉县| 五莲县| 海城市| 尉犁县| 得荣县|