目录
一、理论要点:
1、二者均需要由.o文件生成,二者前缀均为lib,静态库后缀以 .a,动态库的后缀以.so
2、生成目标可执行文件后,静态库可以直接删除,因为静态库已经被加载到可执行文件中进行编译。
而针对动态库则需要在运行程序时,到/usr/lib和/lib等目录中查找需要的动态库文件,不能删除。
通过gcc先编译成.o文件均可以删除,对可执行文件没有影响。
3、当静态库和动态库同名时, gcc命令将优先使用动态库
二、封装流程
三、封装命令:
#封装多条动态库
gcc -shared -fPIC -o libdyhello.so hello.o & gcc -shared -fPIC -o libdyworld.so world.o
#调用多条动态库
gcc -o helloworld1 main.c -L. -ldyhello -ldyworld
四、参考资料