C | 静态库与动态库的区别
静态库在链接阶段,将库文件和二进制文件编译在一起生成一个可执行的二进制文件,形成一个整体;生成的二进制文件体积较大;但生成的二进制文件不需要依赖源文件,当调用某一个函数时直接在内部寻找函数的实现;运行速度相对较快;后续程序更新时需要重新编译;静态库不可以被共享。
动态库在链接阶段,将库文件和二进制文件链接在一起生成一个可执行的二进制文件,不是形成一个整体,而是在其中生成一个库函数表单,指定哪一个函数链接的是哪一个库;当调用某一个函数时,先在库函数表单中寻找对应的函数库,再去外部寻找函数的实现,调用函数;运行速度相对较慢;生成的二进制文件体积较小;后续程序更新时不需要重新编译,更新方面更加快捷;动态库可以被共享。