C++开发那些dll和lib

来源:岁月联盟 编辑:exp 时间:2012-11-05
  lib是编译时需要的,dll时运行时需要的。如果要完成源代码的编译,有lib就够了。如果也是动态连接的程序运行起来,有dll就够了。
       一般的动态库程序有lib文件和dll文件。lib文件时必须在编译器就连接到应用程序中的,而dll文件时运行期才会被调用的。
       如果有dll文件,那么对于的lib文件一般是一些索引信息,具体的实现在dll文件中。
       如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。
       静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。
       编译是通过静态链接库(lib)去找接口的。eg:     #pragma comment(lib,"libmysql.lib")