1)制作静态库
g++ -c -o lib库名.a 源代码文件清单
-c选项表示只编译不链接

image.png
2****)使用静态库
不规范的做法:
g++ 选项 源代码文件名清单 静态库文件名
规范的做法:
g++ 选项 源代码文件名清单 -l库名 -L库文件所在的目录名

image.png
3****)制作动态库
g++ -fPIC -shared -o lib库名.so 源代码文件清单
4****)使用动态库
不规范的做法:
g++ 选项 源代码文件名清单 动态库文件名
规范的做法:
g++ 选项 源代码文件名清单 -l库名 -L库文件所在的目录名
运行可执行程序的时候,需要提前设置LD_LIBRARY_PATH环境变量。

image.png

image.png
5****)优先使用动态库
如果动态库和静态库同时存在,编译器将优先使用动态库。