lib文件的详细说明
LIB文件是不对外公开的,除非有专门的LIB查看工具,否则不能查看LIB文件中对函数的具体实现过程
有几个选择:
1、如果你查看有同名的dll文件,可以通过vc自带的depends查看dll接口
2、通过msdn看你使用的该lib包含的函数名,来查找其对应的头文件,头文件里面有整个lib的函数声明(可能不全)
3、查看vc或者其他工具安装目录下的src目录,查看函数的代码
4、使用lib文件的方法:
1-在object/library modules使用全路径名;
2-把*.lib放在VC的Lib目录中
3-修改project setting的Link->Input中的Addtional library path,加入你的目录。
LIB文件是库文件(与DLL文件相类似),供其它程序调用的,直接打不开。
5、查看LIB和DLL文件都可以通过OLLYDBG中LOADDLL插件来反汇编查看各个函数的过程。 在command下,把当前目录设置为tlib.exe所在目录,然后输入tlib命令回车,此时显示的内容就是对tlib命令的详细解释,语法如下:
Syntax: TLIB libname [/C] [/E] commands, listfile
libname library file pathname
commands sequence of operations to be performed (optional)
listfile file name for listing file (optional)
A command is of the form: <symbol>modulename, where <symbol> is:
+ add modulename to the library
- remove modulename from the library
* extract modulename without removing it
-+ or +- replace modulename in library
-* or *- extract modulename and remove it
/C case-sensitive library
/E create extended dictionary
具体解释:
tlib libname [/C] [/E] commands, listfile
/C:大小写敏感标志。该选项不常用,此参数为可选项。
/E:建立扩展字典。建立扩展字典可以加速大的库文件的连接过程,此参数同样为可选项。
操作命令(可选项):
+ obj文件名 把指定obj文件添加到lib文件中
- obj文件名 把指定obj文件从lib文件中删除
* obj文件名 导出指定的obj文件(导出后对应的obj文件在lib文件内仍然存在)
-+ obj文件名 替换指定的obj文件(前提是在lib文件中存在与指定obj文件同名的obj)
-* obj文件名 导出指定的obj文件(导出后把对应的obj文件从lib文件内删除)
lib文件中obj文件列表(可选项)
此参数说明了命令运行后,生成的对应lib文件的列表文件名。它记录了当前lib文件内obj文件列表