我有一个二进制文件- Windows静态库(*.lib)。
有没有一种简单的方法可以从库中找到函数的名称和它们的接口?
类似于emfar
和elfdump
实用程序(在Linux系统上)?
发布于 2008-11-20 14:31:02
假设您正在谈论一个静态库,DUMPBIN /SYMBOLS
将显示库中的函数和数据对象。如果您谈论的是导入库(用于引用从DLL导出的符号的.lib
),那么您需要DUMPBIN /EXPORTS
。
请注意,对于使用"C“二进制接口链接的函数,这仍然不会得到返回值、参数或调用约定。这些信息根本没有编码在.lib
中;您必须提前知道这一点(例如,通过头文件中的原型)才能正确地调用它们。
对于与C++二进制接口链接的函数,调用约定和参数编码在函数的导出名称中(也称为“名称损坏”)。DUMPBIN /SYMBOLS
将向您显示“损坏的”函数名以及解码后的参数集。
发布于 2011-01-21 04:35:36
我想要一个像unix中的ar t libfile.a
这样的工具。
windows的等价物是lib.exe /list libfile.lib
。
发布于 2017-02-11 04:12:34
"dumpbin -exports“适用于dll,但有时可能不适用于lib。对于lib,我们可以使用"dumpbin -linkermember“或者只使用"dumpbin -linkermember:1”。
https://stackoverflow.com/questions/305287
复制相似问题