静态链接和动态链接的区别

本文讲解静态链接和动态链接的区别个各自优缺点。


静态链接:在编译连接时直接将需要的执行代码拷贝到调用处。

  • 优点:程序发布时不需要依赖库,可以独立运行。
  • 缺点:程序的体积会相对大一些。

动态链接:在编译连接时不直接拷贝代码,而是通过记录一系列符号和参数,在程序运行或加载时将这些信息传递给操作系统,操作系统负责将需要的动态库加载到内存中,程序在运行到指定的代码时,去执行内存中已经加载的动态库可执行代码,最终达到运行时连接的目的。

  • 优点:多个程序可以共享同一段代码。
  • 缺点:运行时加载会影响程序执行性能。