我有一个二进制文件- Windows静态库(*.lib)。 是否有一种简单的方法可以从库中找到函数名及其接口?
类似emfar和elfdump实用程序(在Linux系统上)?
我有一个二进制文件- Windows静态库(*.lib)。 是否有一种简单的方法可以从库中找到函数名及其接口?
类似emfar和elfdump实用程序(在Linux系统上)?
当前回答
"dumpbin -exports"适用于dll,但有时可能不适用于lib。对于lib,我们可以使用"dumpbin -linkermember"或"dumpbin -linkermember:1"。
其他回答
我想要一个像libfile这样的工具。unix中的A。 windows中的等价文件是lib.exe /list libfile.lib。
"dumpbin -exports"适用于dll,但有时可能不适用于lib。对于lib,我们可以使用"dumpbin -linkermember"或"dumpbin -linkermember:1"。
假设讨论的是静态库,DUMPBIN /SYMBOLS显示了库中的函数和数据对象。如果谈论的是导入库(.lib用于引用从DLL导出的符号),则需要DUMPBIN /EXPORTS。
请注意,对于与“C”二进制接口链接的函数,这仍然不会为您提供返回值、参数或调用约定。这些信息根本没有编码在.lib中;为了正确调用它们,你必须提前知道(例如,通过头文件中的原型)。
对于与c++二进制接口链接的函数,调用约定和参数都编码在函数的导出名称中(也称为“name mangling”)。DUMPBIN /SYMBOLS将向您显示“损坏”的函数名称以及解码后的参数集。
打开Visual Studio命令提示符
dumpbin /ARCHIVEMEMBERS openssl.x86.lib
or
lib /LIST openssl.x86.lib
或者直接用7-zip打开:)它是一个AR存档
LIB.EXE是VS的图书管理员
http://msdn.microsoft.com/en-us/library/7ykb2k5f (VS.80) . aspx
(像Unix上的libtool)