静态库&动态库
静态库
静态库,所有的库包含在最终可执行文件中,占用空间大,运行速度快.
静态库一般以lib开头命名,以.a后缀结尾
静态库的制作
1. 把所有需要的.c源文件生成对应的.o文件(不包括main函数)
2. 使用工具将所有.o文件打包生成静态库
ar rcs lib库名.a mul.o add.o sub.o
3. 编译的时候添加静态库
gcc 1.c -o 1.o libmylib.a //库文件在当前目录下
编译时gcc库包含相关指令
参数 | 功能 |
---|---|
-L | 库文件所在目录 |
-l(L的小写) | 库文件名 |
-I(i的大写) | 头文件所在目录 |
//链接home目录下的libmylib.a静态库, 包含当前目录下的头文件
gcc 1.c -o run -L /home -lmylib -I ./
动态库
动态库只有在运行的时候才调用,占用空间小,常见库一般都是静态库,如libc
动态库一般以lib开头命名,以.so后缀结尾