Nic*_*lin 165 windows static-libraries libraries
我有一个二进制文件 - Windows静态库(*.lib).
有没有一种简单的方法可以从该库中找出函数及其接口的名称?
类似于emfar和elfdump实用程序(在Linux系统上)?
Tim*_*her 185
假设您正在谈论静态库,则DUMPBIN /SYMBOLS显示库中的函数和数据对象.如果您正在谈论导入库(.lib用于引用从DLL导出的符号),那么您需要DUMPBIN /EXPORTS.
请注意,对于与"C"二进制接口链接的函数,这仍然不会返回值,参数或调用约定.该信息根本没有编码.lib; 您必须提前知道(例如,通过头文件中的原型)才能正确调用它们.
对于与C++二进制接口链接的函数,调用约定和参数在函数的导出名称中编码(也称为"名称修改"). DUMPBIN /SYMBOLS将显示"受损"函数名称以及已解码的参数集.
Tan*_*guy 86
打开可视命令控制台(Visual Studio命令提示符)
dumpbin /ARCHIVEMEMBERS openssl.x86.lib
Run Code Online (Sandbox Code Playgroud)
要么
lib /LIST openssl.x86.lib
Run Code Online (Sandbox Code Playgroud)
或者只是用7-zip打开它 :)它是一个AR档案
lgw*_*est 20
我想要一个像ar t libfile.aunix 一样的工具.
窗户相当于lib.exe /list libfile.lib.
Lou*_*nco 13
LIB.EXE是VS的图书管理员
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(比如Unix上的libtool)
Fra*_*ank 13
"dumpbin -exports"适用于dll,但有时可能不适用于lib.对于lib,我们可以使用"dumpbin -linkermember"或"dumpbin -linkermember:1".
小智 5
就像在其他答案中可以看到的那样,您必须打开 Visual Studio 版本中提供的开发人员命令提示符才能将其包含dumpbin.exe在执行路径中。否则,您可以手动设置必要的环境变量。
dumpbin /EXPORTS yourlibrary.lib通常只会显示一小部分符号。在许多情况下,它不会显示库导出的函数。
dumpbin /SYMBOLS /EXPORTS yourlibrary.lib将显示该符号,但也会显示数量惊人的其他符号。因此,您必须过滤它们,可能使用管道findstr(如果您想要 MS-Windows 工具),或grep.
Static使用这些工具之一搜索关键字似乎是一个很好的提示。
| 归档时间: |
|
| 查看次数: |
158908 次 |
| 最近记录: |