【发布时间】:2020-07-21 14:54:33
【问题描述】:
我知道我可以使用dumpbin /exports [filename] 查看 dll 中的函数列表。
有没有办法查看这些函数的签名(我需要什么参数来调用它)?
【问题讨论】:
-
没有。您需要各种 Windows H 文件才能看到这些文件。非托管代码不像 .NET DLL 那样携带元数据。如果您从 C# 调用事物(如您的标签所示),请查看 pinvoke.net。您应该能够获得足够的信息来调用那里的任何标准 DLL
-
来自垃圾箱,没有。从 MS 文档来看,是的。
-
@fly:这是不正确的。函数签名携带不同数量的元数据。修饰的 C++ 函数签名对参数类型的整个列表进行编码。该声明,如果为假,则 “非托管代码不会像 .NET DLL 那样携带元数据”。
-
您也可以试试winsiggen 工具。过去对我很好,不知道它是否仍然是最新的。
-
是的。查看文档和头文件。前者很重要。知道参数的类型很少足以调用函数。您需要了解语义,并了解接口契约。