Linux gcc 制作动/静态链接库

gcc 静态链接库

以 math.c为例

gcc -c math.c
ar rcs libmath.a math.o

ar命令 将多个文件打包成一个备份文件

参数r:用来替换库中已有的目标文件,或加入新的目标文件
参数c: 表示创建一个库,不管库是否存在,都将创建
参数s:用来创建目标文件的索引,这在创建较大的库时能够提高速度

静态链接库制作好之后的使用

gcc main.c -lmath -o main

gcc 动态链接库

以math.c为例

gcc -fPIC -c math.c 
# -fPIC (Position-Independent Code),用于编译阶段,产生与位置无关的代码
gcc -shared math.o -o libmath.so
# -shared  用于链接阶段,生成可动态加载的so库

动态链接库制作好后的使用:

gcc main.c -lmath -o main

注意:需要将生成的libmath.so放到 /usr/lib 目录之下,或者是在运行时设置 LD_LIBRARY_PATH 环境变量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值