Linux操作系统支持的函数库分为:
1.静态库,libxxx.a,在编译时就将库编译进可执行程序中。
- 优点:程序的运行过程中不需要外部的函数库
- 缺点:可执行程序大
2.动态库,又称为共享库,libxxx.so,在运行时将库加载到可执行程序中
- 优点:可执行程序小
- 缺点:程序的运行过程中必须要提供相应的库
函数库目录:/lib/usr/lib
静态库的制作:
1.首先创建并编辑一个文件:vi main.c 输入以下内容
2.在创建一个文件sub.c: vi sub.c 内容如下
3.编译main.c :gcc main.c 发现警告“未声明sub函数”
4.我们目的就是在编译main.c时将sub.c作为静态库一起跟着编译,因此我们首先先将sub.c生成目标文件: gcc sub.c -c -o sub.o
5.静态函数库创建目录ar : ar -cr -o libsub.a sub.o
6.使用该静态函数库:gcc main.c -L. -lsub 编译成功后会生成可执行文件a.out
7.执行:./a.out 结果如下