1

嗨,我创建了一个 C++ DLL,我将其导入 C# 应用程序以重用函数。C ++中的功能代码是static bool IsSomethingAttached(char *Arg1[])

当我在 C# 程序中使用如下 DllImport 时,[DllImport("DllName")] 我收到错误为 EntryPointNotFound 异常。

我用了

**DumpBin /symbols Dllname.dll**获取损坏的名称。

1)但我不知道如何准确地得到损坏的名称。很少有帖子说我们应该使用 /exports ,而/exports不是/symbols只给出摘要,而且我没有得到错误的名称。请帮忙

2) 如何使用undname.exe从未修饰名称中获取修饰名称?

4

1 回答 1

1

利用,

/ALL显示除代码反汇编之外的所有可用信息。使用 /DISASM 选项显示反汇编。您可以使用/RAWDATA:NONE选项/ALL来省略文件的原始二进制详细信息。由于该/ALL选项只是所有其他选项的组合,因此不需要示例。

您可以在 C++ 中使用exports.def归档以在 C# 中获取未修饰的名称。这里不需要dumpBin

于 2012-06-18T10:03:33.170 回答