静态库的制作
先写一个add.c文件,其中有一个add加法函数。
再写一个demo.c文件,其中需要引用外部函数add。
输入命令
也可以不引用外部函数add,而是建一个库函数add.h,add.h引用外部函数add。
此时再输入命令也可以得出准确的结果。
静态库的使用
制作一个静态库
1、将目标源文件编译成目标文件:gcc -c 目标源文件(gcc -c add.c)
2、使用ar工具制作静态库:ar -rcs(库不存在就创建,存在就更新) 所要生成的库文件的名字(lib+库名+后缀.a) 目标文件
ar -rcs libadd.a add.o
使用静态库
-l : 指定加载哪个静态库
-L : 指定加载的库的存放路径
gcc 源文件 -l库名 -L库文件存放路径
找不到这个编译器,需要告诉编译器这个库在哪儿。
库文件的存放路径
系统运行所需要的库文件:/lib
第三方软件和工具所需要的库:/usr/lib
编译时,编译器会自动到这两个目录里找到所需要链接的库文件。
上图就是用把libadd.a拷到第三方软件和工具运行所需要的库里面的方法,所以编译能过。
同样的道理,放在根目录下面也可以。(第三条命令打错请忽略)
第二种方法
新建一个lib目录,把libadd.a移到里面去。
如果没有这个lib,可以直接把libadd.a移动到根目录下面,-L直接链接到根目录。
练习
1、将add.c制作成静态库并使用
2、将sub.c add.c制作成libcal.a静态库并使用