当前位置:  开发笔记 > 运维 > 正文

如何查看Windows库的内容(*.lib)

如何解决《如何查看Windows库的内容(*.lib)》经验,为你挑选了6个好方法。

我有一个二进制文件 - Windows静态库(*.lib).
有没有一种简单的方法可以从该库中找出函数及其接口的名称?

类似于emfarelfdump实用程序(在Linux系统上)?



1> Tim Lesher..:

假设您正在谈论静态库,则DUMPBIN /SYMBOLS显示库中的函数和数据对象.如果您正在谈论导入库(.lib用于引用从DLL导出的符号),那么您需要DUMPBIN /EXPORTS.

请注意,对于与"C"二进制接口链接的函数,这仍然不会返回值,参数或调用约定.该信息根本没有编码.lib; 您必须提前知道(例如,通过头文件中的原型)才能正确调用它们.

对于与C++二进制接口链接的函数,调用约定和参数在函数的导出名称中编码(也称为"名称修改"). DUMPBIN /SYMBOLS将显示"受损"函数名称以及已解码的参数集.


/ SYMBOLS和/ EXPORTS现在都不起作用。我必须使用/ ALL和更多管道来查看.lib文件中的所有功能。

2> Tanguy..:

打开可视命令控制台(Visual Studio命令提示符)

dumpbin /ARCHIVEMEMBERS openssl.x86.lib

要么

lib /LIST openssl.x86.lib

或者只是用7-zip打开它 :)它是一个AR档案


我从来不知道你可以用7-zip打开.lib文件,非常感谢!
7-zip的酷炫技巧似乎有两个.txt文件,它们是什么意思?
感谢"或者只是用7-zip打开它:)它的AR档案"

3> lgwest..:

我想要一个像ar t libfile.aunix 一样的工具.
窗户相当于lib.exe /list libfile.lib.


是的lib将(仅)显示obj文件; 它不会显示obj文件中的函数和数据.

4> Lou Franco..:

LIB.EXE是VS的图书管理员

http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx

(比如Unix上的libtool)



5> 小智..:

"dumpbin -exports"适用于dll,但有时可能不适用于lib.对于lib,我们可以使用"dumpbin -linkermember"或"dumpbin -linkermember:1".



6> jim..:

DUMPBIN/EXPORTS将获得大部分信息,并且击中MSDN将获得其余的信息.

获取一个Visual Studio包; C++

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有