GCC 编译使用动态链接库和静态链接库

  • Post author:
  • Post category:其他




1 库的分类



根据链接时期的不同,库又有静态库和动态库之分。



静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。



有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程序运行时调用。(TODO:链接动态库时链接阶段到底做了什么)



2 静态库和动态库的比较



链接静态库其实从某种意义上来说也是一种粘贴复制,只不过它操作的对象是目标代码而不是源码而已。因为静态库被链接后库就直接嵌入可执行文件中了,这样就带来了两个问题。




版权声明:本文为orzlzro原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。