LIB有两种,一种是静态库,比如C-Runtime库,这种LIB中有函数的实现代码,一般用在静态连编上,它是将LIB中的代码加入目标模块(EXE或者DLL)文件中,所以链接好了之后,LIB文件就没有用了。
一种LIB是和DLL配合使用的,里面没有代码,代码在DLL中,这种LIB是用在静态调用DLL上的,所以起的作用也是链接作用,链接完成了,LIB也没用了。至于动态调用DLL的话,根本用不上LIB文件。 目标模块(EXE或者DLL)文件生成之后,就用不着LIB文件了。
加载方法
1.LIB文件直接加入到工程文件列表中
在VC中打开File View一页,选中工程名,单击鼠标右键,然后选中\"Add Files to Project\"菜单,在弹出的文件对话框中选中要加入DLL的LIB文件即可。
2.设置工程的 Project Settings来加载DLL的LIB文件
打开工程的 Project Settings菜单,选中Link,然后在Object/library modules下的文本框中输入DLL的LIB文件。
3.通过程序代码的方式
加入预编译指令#pragma comment (lib,"路径\*.lib"),这种方法优点是可以利用条件预编译指令链接不同版本的LIB文件。因为,在Debug方式下,产生的LIB文件是Debug版本,如Regd.lib;在Release方式下,产生的LIB文件是Release版本,如Regr.lib。
当应用程序对DLL的LIB文件加载后,还需要把DLL对应的头文件(*.h)包含到其中,在这个头文件中给出了DLL中定义的函数原型,然后声明。
以 *.LIB 为后缀的文件是系统库文件。该文件是二进制格式的,不是文本格式的,所以说即使用户使用 UltraEdit、NotePad 等软件打开了 *.LIB 文件,那也是无用的,因为无法读懂它们的具体内容。这些文件都是由软件开发者在编程时设计好了的,在软件运行的过程中,由特定的程序语句按照指定的二进制格式才能够正确打开。