静态库与动态库的生成与使用

一、库文件

预编译——>编译——>汇编——>链接(使用库)——>可执行文件

二、生成库:把大量的已经实现的代码打包起来

生成动态库:

           1、将源码遍历汇编生成二进制指令

        gcc -fPIC -c child.c -o child.o

           2、将所有二进制文件打包到一起

        gcc --shared child.o -o libmychild.so
linux下动态库命名:以lib作为前缀,以.so作为后缀,中间是库名


生成静态库:

           gcc -c child.c -o child.o

           ar -cr libmychild.a child.o       

linux下静态库命名:以lib作为前缀,以.a作为后缀

 

 三、使用库

第一种:

1、将库文件放到系统的存放库的位置  64位 /usr/lib64   32位 /usr/lib

2、gcc main.c -o main -lmychild        -l + 库名

    sudo cp libmychild.so /usr/lib64   复制到系统库中
    gcc child.c -o child -lmychild    使用

第二种:环境变量

export LIBRARY_PATH=${LIBRARY_PATH}:./
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./

gcc main.c -o main -lmychild

第三种:

gcc main.c -o main -L./ -lmychild

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值