Linux指令 gcc的扩展——静动态库的制作。

静态库:编译时,链接所有需要的库。
优点:对运行环境没有要求。
缺点:文件大。
制作步骤:以编写main文件为列
1、编写main.c,print.c,show.c。
2、将show.c和print.c文件转为二进制文件。
gcc -c show.c print.c
3、制作静态库。
ar -crv libxxx.a show.o print.o
注:libxxx.a是格式。xxx是库名,.a表示的是静态库。下面的.so表示的是动态库
4、静态编译。
gcc main.c -o main -L . -lxxx -static
注:-L . 中-L表示静态库的位置。 .表示静态库就在当前目录下。-l表示静态库的名字。xxx表示静态库具体的名字。-static表示这是静态编译。
5、运行
./main 运行main文件,查看是否存在错误,是否能编译成功。

动态编译:编译时,不链接库文件。
优点:文件小。
缺点:对运行的环境有要求。
制作步骤:以main文件为列
1、制作动态库
gcc -fPIC -shared -o libxx.so print.c show.c
注:PIC是大写
2、动态编译
gcc main.c -o main -L . -lxx
3、将动态库复制到默认系统下。
cp libxx.so /usr/lib
4、运行文件
./main

2019/7/19

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值