库文件
库文件:存放函数和变量的仓库,特点:只能是同库里的函数和变量,不能看到实现;
静态库(.a结尾):当使用静态库时,库里的函数和变量只在编译时加载到可执行文件;
动态库(.so结尾):当是同动态库时,库里的函数和变量是在运行时加载到可执行文件的;
可执行文件的大小:静态库>动态库-------内存使用效率 可执行文件的速度:
可执行文件的速度:静态库>动态库-------运行效率
可执行文件的功能升级:静态库<动态库-功能升级的难易程度
可执行文件的代码部署:静态库>动态库-代码部署的位置
静态库
1.gcc -c源文件
2.ar rcs 库文件名 目标文件
3.gcc 源文件 -l库名 -L库名路径
动态库
1.gcc -shared -fPIC 源文件 -o 库名
2.gcc 源文件 ./库名 -o 可执行文件
制作静态库:
vim mm.c
vim main.c
vim mm.h
gcc -c mm.c
ar rcs libmm.a mm.o
cp libmm.a ee
vim main.c
cp mm.h ee
gcc main.c -lmm -L.