库的制作和使用
1.什么是库,为什么需要库
库是二进制形式的目标模块包
a.o \
b.o - abc.a -------- 库
c.o /
使用库很方便对程序进行模块化设计,方便对某些固定功能的重复使用,方便对某些功能进行更新
2.库的类型
(1)静态库
扩展名.a 库中封装的二进制代码,在链接阶段被复制到调用模块中,调用模块运行时不再需要静态库的支持
(2)动态库
扩展名.so 库中封装二进制代码,在链接阶段并不会复制到调用模块,被嵌入到调用模块中仅仅是被调用函数在共享库中的相对地址
调用模块在运行时需要动态库
动态库和静态库相比,使用更加灵活,使用更为常见