我们在学习C语言时经常使用库函数,当时用起来是不是特别的方便呢,但是现在我们到了Linux的操作系统下,我们的一切命令都是通过指令,今天我们就来学习一下在Linux下如何建立相应的库并使用它。
一. 库的概念:
-
库就是预先编译好的方法的集合,我们常用的printf等就存在与我们的C库里面。C语言默认链接的就是C库,存放在/usr/lib目录下。
-
库我们可以分为静态库和动态库。
- 静态库:形式为:lib.xx.a ,lib为固定的前缀,xx为库名,.a为特有后缀。它的特点是编译链接时把这个函数的代码复制进来,这样在无库的情况下代码也可以运行,但同时导致了消耗内存大。
- 共享库:形式为:lib.xx.so,lib是固定前缀,xx为库名,.so为特有后缀。它的特点是编译链接时不把函数复制进来,只做个标记,在运行时才回去找,所以当库消失时则链接失败,但同时导致消耗内存小。
二. 库的制作:
- 静态库的制作:(xx为库名)
- 将所有的.c文件变为.o文件
ar crv libxx.a 所有.o文件
//创建库- 写个xx.h头文件,里面内容是函数的声明
- 写个mian.c,里面引用库的的头文件
gcc -o main main.c -L. -lxx
//.L表示库当前所在的