gpt4 book ai didi

c - 将 C dll 方法导出到 c# P/Invoke

转载 作者:行者123 更新时间:2023-11-30 17:30:04 24 4
gpt4 key购买 nike

如何查看 c dll 的方法名称和参数列表?

我正在尝试为第三方应用程序中的某些 C dll 编写 C# 包装器,但在依赖项遍历器或 PE 资源管理器中查看 c dll 时,它只显示带有一些 @@@@ 符号的方法名称。

要编写 dllImport 包装器,我必须知道方法名称和参数列表,但我不知道如何查看方法名称和参数。

最佳答案

实际上,您需要该库的文档。没有它,你就会陷入挣扎。即使您可以预测函数原型(prototype)(参数、调用约定等),您也将很难知道如何调用这些函数。例如假设你有这个功能:

void foo(int, int*);

第二个参数是指向单个值的指针还是数组?仅凭原型(prototype)是无法判断的。

此外,DLL 可能需要常量、结构等,而这些在 DLL 中都没有元数据。

您可以使用分解器检索原型(prototype),即 http://demangler.com/但实际上这还不够。请联系供应商以获取文档。

关于c - 将 C dll 方法导出到 c# P/Invoke,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314536/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com