linux静态动态库制作和使用

静态动态库

..本质优点
动态库共享库的代码是在可执行程序运行时才载入内存1.省空间2.bug修复利于维护3.开发效率
静态库静态库被链接后库就直接嵌入可执行文件1.速度快
linux静态动态库制作和使用
动态库步骤
  1. 生成.so文文件 |…加-fPIC和-shard和文件名需libxxx.so
    1.
    1. gcc -fPIC -o hello.o -c hello.c 成目标文件
    2. gcc -shared -o libhello.so hello.o
    1. 或一句 gcc -fPIC -shared -o libhello.so hello.c
  2. 编译链接动态库到程序中
    1. 命令:gcc main.c -L . -lhello
    2. -L指定库路径 -l指定库名
    3. -Wl,-rpath: 记录以来so文件的路径信息,将动态库路径添加到运行时查找路径中(不知道是不是没用过)
  3. 执行测试 添加动态库执行路径 (命令ldd a.out 检测库路径)
    1. 环境变量 export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:.”
    2. 配置文件/etc/ld.so.conf (root权限 全局配置不用)
静态库步骤
  • 1.生成.a文件
    • 命令1 gcc -c hello.c
    • 命令2 ar rv libhello.a hello.o
    • 解释:rv 是ar的命令选项; r 代替库中现有的文件或者插入新的文件 ;v 输出详细信息
  • 链接和执行跟动态库基本一样

有半静态解决不同版本库的兼容问题(以后补)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值