lib文件静态库和dll文件动态连接库有什么不同,分别有什么作用!在编译时各自起什么作用

2025-04-25 08:00:55
推荐回答(2个)
回答1:

个人理解(不一定完全对):
静态库之所以叫做“静态”,其含义是:一旦内容发生改变,必须进行重新编译
而动态连接库则不必这样,我们编译好一个程序,如果他使用的动态连接库有所改变,我们只需要更新对应的DLL文件即可,而不必重新编译整个程序
在编译时,静态库整个函数库的所有数据都会被整合进目标代码中,而动态库则不会,动态库只是在使用时才会进行加载

回答2:

简单来说 静态库 编译完 之后 就一个光光 exe
动态库编译完 之后 是要 一个exe 和这个dll同时在 才能运行。
好处?dll可以动态加载,也可以被多个程序调用,
lib库 存在版本必须一致的问题,例如2008的代码 连接的时候 必须要连接 2008编译出来的lib库,
而dll 或许 不需要这么强制对应。