静态库和动态库

来源:互联网 发布:建筑公司法务 知乎 编辑:程序博客网 时间:2024/05/22 06:08

所谓静态库,就是静态编译时由编译器到指定目录寻找并且进行链接,一旦链接完成,最终的可执行程序中就包含了该库文件中的所有有用信息,包括代码段,数据段等。所谓动态库,就是应用程序运行时,由操作系统根据应用程序的请求,动态到指定目录下寻找并装载入内存中,同时需要进行地址重定向。

win32平台下,静态库后缀为.lib,动态库为.dll。

linux平台下,静态库后缀为.a,动态库为.so.

从本质上来讲,一段程序编译出来的静态库和动态库,在功能上是没有区别的。

相对于动态库,静态库的优点是在于直接被链接进可执行程序中,之后,该可执行程序就不再依赖于运行环境的设置了。

而动态库的优点在于,用户甚至可以在程序运行时随时替换动态库,这就构成了动态插件系统的基础。

0 0
原创粉丝点击