o Logo
首页
反馈
o Logo
首页 反馈
  1. 首页
  2. linux
  3. 库

库

  • linux
  • 发布于 2025-09-13
  • 94 次阅读
o
o

ar [选项] <静态库文件> <目标文件列表>

-r 将给出的目标文件加入库;若同名目标已存在则覆盖。常与 c、s 组合:ar rcs libxxx.a a.o b.o

-q 将目标文件追加到静态库尾(不检测同名)

-d 从静态库中删除目标文件

-t 列出库中成员文件名:ar t libxxx.a;加 v (-tv) 可显示时间戳、权限等

-x 解包成员到当前目录:ar x libxxx.a a.o;不指定成员则全部解出

c create 创建库时不输出 “creating libxxx.a” 提示

s build index 生成/更新符号索引(等价单独运行 ranlib),提高链接器检索速度

u update if newer 与 r 搭配:仅当目标文件比库中现有成员“更新”时才替换

v verbose 冗余模式,显示执行过程(可与 r,d,t,x 等组合)

gcc -c -fPIC clac.c -o clac.o

gcc -c -fPIC show.c -o show.o

-fPIC 大模式,兼容所有平台

-fpic 小模式,兼容部分平台

gcc -shared -o libdemo.so clac.o show.o

链接

gcc mai.c -ldemo -L. -o app

-l 指定库名

-L 指定库路径 或 LIBRARY_PATH环境变量指定库文件路径

运行动态库时需要指定LD_LIBRARY_PATH 环境变量中包含动态库所在的路径。以告知链接器在运行时链接动态库