如何使用c dll的参数列表查看方法名称?
我正在尝试从第三方应用程序为某些C dll编写C#包装器,但是在依赖walker或PE explorer中查看c dll时,它只显示带有@@@@符号的方法名称。
要编写dllImport包装器,我必须知道方法名称和参数列表,但我不知道如何查看方法名称和参数。
答案 0 :(得分:0)
实际上你需要库的文档。没有它你就会挣扎。即使您可以对函数原型(参数,调用约定等)进行神圣操作,您也很难知道如何调用这些函数。例如,假设你有这个功能:
void foo(int, int*);
第二个参数是指向单个值还是数组的指针?你无法从原型中分辨出来。
此外,DLL可能需要常量,结构等,其中没有一个在DLL中有元数据。
您可以使用demangler检索原型,即http://demangler.com/,但实际上还不够。请与供应商联系以获取文档。