静态库的制作和使用

库文件

        库是一组预先编译好的方法的集合。 Linux 系统存储的库的位置一般在: /lib 和 /usr/lib。
在 64 位的系统上有些库也可能被存储在/usr/lib64 下。库的头文件一般会被存储在
/usr/include 下或其子目录下。
        库有两种,一种是静态库,其命令规则为 libxxx.a,一种是共享库,其命令规则为 libxxx.so。

静态库的生成

a.c b.c head.h

 以上是需要生成静态库的“.c”文件,其中“head.h”中是函数的声明,“a.c”,“b.c”是函数的定义

        1.将需要生成库的文件的所有“.c”文件编译成“.o”文件

gcc -c a.c
gcc -c b.c

        2.使用ar命令将第一步生成的所有“.o”文件生成静态库

ar crv libab.a a.o b.o

 其中:c是创建库;r是将方法添加到库中;v显示过程

静态库的使用

#include "head.h"

 测试代码中需要包含指定的库文件

gcc test.c -o test -L. -lhead
  • -L:指定库的存储路径
  • -l:指定库的名称(不需要前面的‘lib’和扩展名‘.a’)

项目目录

  • include:存放项目的头文件
  • lib:库文件
  • src:源代码文件

项目中静态库的使用

结构图如下所示

        1.将src中需要生成库的文件的所有“.c”文件编译成“.o”文件,需要注意头文件在include中,因此在编译时需要指定include包含文件的搜索目录。

gcc -c add.c sub.c mult.c div.c -I ../include/

        2.使用ar命令将第一步生成的所有“.o”文件生成静态库,需要指定lib文件夹

ar rcs ../lib/libcalc.a add.o div.o mult.o sub.o

        3. 链接:需要指定include文件夹的头文件以及指定库文件的位置以及库文件的名称

gcc main.c -o main -I ./include/ -L ./lib -l calc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值