静态库:对空间要求低,而时间要求较高的核心程序中;
动态库:对时间要求较低,对空间要求较高
1.调用库函数一般会报库函数未进行隐式申明,可以在对应的文件里加上对库函数的申明即可;
2.或者在头文件里对库函数进行隐式定义;
3.防止头文件重复被包含可以用如下格式:
#ifndef _HEAD_H_
#define _HEAD_H_
#endif
4.动态库制作及使用
1).将.c,生成.o文件 生成与位置无关代码
2).动态库会延迟绑定;
3).生成动态库指令是 gcc -c add.c -o add.o -fPIC
5.使用 gcc -shared 制作动态库:gcc -shared lib库名.so add.o sub.o div.o
6.编译可执行程序时制定所使用的动态库,-l:制定库名 -L:制定库路径
gcc test.c -o -l libtest -L ./lib
7.运行科执行程序 ./a.out
如下图对应关系