梗概

是可执行程序的一种引用代码打包方式

  1. 将程序需要的所有依赖模块代码都导入到同一个文件中

适用范围

特点

  • 利用静态函数库编译成的文件比较大,因为整个函数库在编译时都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果你静态链接的函数库改变了,那么你的程序必须重新编译。

优点

  • 代码更精简,因为不必做版本检查。
  • 程序分发时文件个数少,因为静态链接到源文件里了。
  • 只编译进来库中所用的部分,而不用整个库。

缺点

  • 生成的binary占空间更大。
  • 重复的库可能出现在多个进程,浪费内存。
  • 库内部更新的话需要重新编译binary。