函数库的静态库和动态库
函数库分为静态库和动态库两种:
- 静态库在程序编译时会被链接到目标代码中,运行时不再需要
- 动态库在程序编译时并不会被链接,在程序运行时才被载入
静态库制作
- 自己编写源代码.c
- 对制作的源文件进行只编译不链接.o:
gcc -c xxx.c -o xxx.o - 对目标文件进行打包:
ar -rc libyyy.a(yyy库名) - 对使用目标库的文件进行编译:
gcc main.c -lyyy -L(后置路径)
动态库制作
- 自己编写源代码.c
- 对制作的源文件进行只编译不链接.o:
gcc -c xxx.c -o xxx.o - 对目标文件进行打包:
gcc -fpic -shared xxx.o libyyy.so(yyy库名) - 对使用目标库的文件进行编译:
gcc main.c -lyyy -L(后置路径)