链接有动态链接和静态链接之分:
静态链接:
在链接阶段,将汇编生成的.o文件和所需要的库一起链接打包到可执行文件中,成为可执行程序的一部分。
优点:
运行速度快,可执行程序具备了程序运行的所有内容,对运行环境的依赖小,兼容性好。
缺点:
程序体积大,浪费空间,每个可执行程序都有静态库的副本,如果静态库更新就需要重新进行编译链接
动态链接:
在程序运行时载入动态库,不同可执行程序如果调用相同的的库,内存里只有一份动态库的实例
优点:
程序体积小,节省空间,更新方便
缺点:
在程序运行时链接,相比静态链接有一定的性能损失