动态库和静态库都是一组函数集合,打包在一起供应用程序调用,区别是:
静态库名称一般为xxx.a,在编译时和应用程序链接在一起,这样的应用程序占用空间较大。
动态库名称一般为xxx.so,对于动态库即可以在编译时链接,困丛也可以使用dlopen()/dlsym()/dlclose()函数在汪瞎樱运行时调用,后种方式占用空间较小,且可神旦以实现动态库在进程间共享,只在内存中保留一份,减少了内存开销。
动态链接库是需要的时候动态加载,静态链接库是系统启动时就自动作为系统中的一个固定模块安装好了的。