1.库文件:
用来保存变量、文件,可以使用但看不到实现。
/lib 系统库
/usr/lib 程序库
2.静态库(后缀 .a )
系统在编译过程中将程序的目标文件和所需的函数库文件链接在一起;是在执行程序之前就已经加入到执行代码中,成为执行程序的一部分来执行的。
3.动态库( .so )
程序在运行过程中需要使用时才链接函数库;在执行程序启动时加载到执行代码中。
4.动态库与静态库
静态库 :在编译时就加入到执行代码中,代码容易布局;而编译效率较低,执行效率高;执行时的可执行文件中有较多函数库文件,所以占用内存较大;更新代码时由于在编译时就加入到执行代码中,升级较为麻烦。
动态库:在执行时才加入执行代码中,编译相对较快,执行效率降低;布局较差;占用内存较小;但易于升级,只需在执行前更新函数库。