linux库引入之动态库和静态库
程序函数主要分为:静态函数库,动态函数库和共享函数库
静态函数库:在程序编译之前就加载到程序里面去了
缺点:代码量大,更新,部署,发布麻烦,链接时完整的拷贝到可执行文件中,被多次使用会造成多份的冗余拷贝
优点:程序运行快,发布程序无需提供静态库,因为在已经在app中了,移植方便。
动态函数库:程序在执行时动态由目标程序调用
优点:代码量小,链接不复制,,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序可以共用,节省内存
程序升级简单,因为app里面没有库的源代码,,升级之后只要库的名字不变,只是实现做了优化,就能加载成功。
缺点:程序运行慢,加载速度比静态库慢,发布程序需要提供依赖的动态库。