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

2018-09-25  本文已影响0人  natewang

二者不同

静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序

动态lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时候需要相应的dll文件支持

动态库的优势

动态库把对一些库函数的链接载入推迟到程序运行的时期
可以实现进程之间的资源共享(因此动态库也称为共享库)
将一些程序升级变得简单
可以真正做到链接载入完全由程序员在程序代码中控制(显式调用)

静态库名称
Unix:libxxx.a
Windows:xxx.lib

动态库名称
Linux:libxxx.so
Mac OS:libxxx.dylib
Windows:xxx.dll

上一篇 下一篇

猜你喜欢

热点阅读