建立並使用靜態庫(ar 命令)
archive命令的功能是:建立或修改歸檔檔案或者從歸檔檔案中析取資訊。可以簡單的理解為乙個打包工具,將成員檔案按照一定的規則構建到.a檔案中,通常這種型別的歸檔檔案用來將常用的例程組織為乙個靜態庫,方便應用程式的鏈結。
重要引數:
d - 從archive中刪除模組,若指定v選項的話還會在刪除的過程中列印資訊;
r - 以替換的方式增加模組;
c - 強制建立乙個庫,不管已存在與否;
s - 為庫中的可重定位目標檔案建立符號索引或者更新, 對乙個庫執行ar -s等價於對其執行ranlib命令;
t - 列表顯示出archive中的內容;
用例:把經常用到的例程編譯後的可重定位目標檔案,用ar構建乙個靜態庫。demo如下:
注:gcc -l 表示指定搜尋庫的路徑。
(1)nm :檢索物件檔案中的符號,用例:
(2)ranlib:為archive產生索引,並存於其中。
參考:linux man page
建立並使用靜態庫(ar 命令)
建立並使用靜態庫 ar 命令 archive命令的功能是 建立或改動歸檔檔案或者從歸檔檔案裡析取資訊。能夠簡單的理解為乙個打包工具,將成員檔案依照一定的規則構建到.a檔案裡,通常這樣的型別的歸檔檔案用來將經常使用的例程組織為乙個靜態庫,方便應用程式的鏈結。重要引數 d 從archive中刪除模組,若...
gcc 靜態庫製作之ar命令使用
前言 我們通常把一些公用函式製作成函式庫,供其他程式使用。函式庫分為靜態庫和動態庫兩種。本文講解如何製作屬於自己的靜態庫。什麼是靜態庫?通常來說,靜態庫以.a作為字尾,且以lib開頭。類似於lib a。靜態庫在程式編譯時會被連線到目標 中,程式執行時將不再需要該靜態庫。ar命令詳解 linux ar...
Qt之建立並使用靜態鏈結庫
繼上一節 qt之建立並使用共享庫 之後,關於動態鏈結庫和靜態鏈結庫已經有了更深入的認識,所以這裡不再贅述,下來我們一起看看如何建立與使用靜態鏈結庫。建立步驟與共享庫一致,唯一的區別是庫型別選擇 靜態鏈結庫。qt core gui widgets target staticlibrary templa...