萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux ar 命令詳解:靜態庫構建、成員管理與符號表維護

ar 是建立、修改、提取靜態庫(.a 文件)的核心工具,廣泛用於 C/C++ 專案構建。本文完整列舉操作指令與選項參數對照表。

功能定位

將多個目標文件(.o)打包為單一靜態庫文件,保留各成員原屬性與權限。鏈接器鏈接靜態庫時,僅提取被引用的目標文件。

語法

ar [-dmpqrtx] [cfosSuvV] [a|b|i member] archive [member...]

操作指令(互斥,必選一)

指令功能
-d刪除庫中成員
-m移動成員順序
-p輸出成員內容到 stdout
-q快速追加成員到末尾(不檢查重複、不更新符號表)
-r插入/替換成員(最常用,自動更新符號表)
-t列出庫成員清單
-x提取成員到當前目錄

選項參數

選項功能
a member在指定成員後插入
b member在指定成員前插入
c建立庫(不提示)
f截斷過長文件名以兼容舊版 ar
i member同 b,在指定成員前插入
o保留成員原始時間戳
s建立/更新符號表(等同 ranlib)
S不產生符號表
u僅插入比庫中舊版本更新的文件
v詳細輸出過程信息
V顯示版本號

常用組合範例

ar rcs libfoo.a *.o          # 建立/更新靜態庫並生成符號表
ar t libfoo.a                # 列出成員
ar x libfoo.a bar.o          # 提取 bar.o
ar d libfoo.a obsolete.o     # 刪除成員
ar q libfoo.a new.o          # 快速追加(大量構建時較快,事後需 ranlib)

ar 配合 ranlib/nm 是靜態庫構建鏈的基石,嵌入式、系統級開發必備技能。

copyright © 萬盛學電腦網 all rights reserved