什么是静态库,什么是动态库,有什么区别,哪些更好用,为什么?

时间:2011-03-23 22:08:10

标签: c++ linker dynamic-linking static-linking

  

可能重复:
  What do 'statically linked' and 'dynamically linked' mean?

我在这里知道很多类似的问题(例如firstsecondthird one)但是在任何人中我都没有找到我的问题的完整答案。请解释我的主要区别以及何时使用哪种类型的库?

1 个答案:

答案 0 :(得分:2)

静态库旨在通过链接器将您的代码与您的代码组合成一个可执行文件。

动态库意味着在加载主可执行文件后由操作系统加载,并且符号地址的链接将由OS在那时完成。这可以基于可执行文件中的依赖性信息自动完成,或者可以由程序明确地完成。这称为“动态链接”,因为库可能会在操作系统加载之前随时更改。