个人理解(不一定完全对):
静态库之所以叫做“静态”,其含义是:一旦内容发生改变,必须进行重新编译
而动态连接库则不必这样,我们编译好一个程序,如果他使用的动态连接库有所改变,我们只需要更新对应的DLL文件即可,而不必重新编译整个程序
在编译时,静态库整个函数库的所有数据都会被整合进目标代码中,而动态库则不会,动态库只是在使用时才会进行加载
简单来说 静态库 编译完 之后 就一个光光 exe
动态库编译完 之后 是要 一个exe 和这个dll同时在 才能运行。
好处?dll可以动态加载,也可以被多个程序调用,
lib库 存在版本必须一致的问题,例如2008的代码 连接的时候 必须要连接 2008编译出来的lib库,
而dll 或许 不需要这么强制对应。