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


179

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

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


1
注意:.NET专用的命令提示符随Visual Studio版本一起提供,但不随Express版本一起提供。来源:social.msdn.microsoft.com/Forums/en-US/...
isgoed

Answers:


198

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

请注意,对于与“ C”二进制接口链接的函数,这仍然无法使您返回值,参数或调用约定。这些信息根本没有编码.lib。您必须提前知道(例如,通过头文件中的原型),以便正确调用它们。

对于与C ++二进制接口链接的函数,调用约定和参数编码在函数的导出名称中(也称为“名称修改”)。 DUMPBIN /SYMBOLS将同时显示“混合”函数名称以及解码后的参数集。


6
/ SYMBOLS和/ EXPORTS现在都不起作用。我必须使用/ ALL和更多管道来查看.lib文件中的所有功能。
user5280911
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.