1

こんにちは私は関数を再利用するためにC#アプリケーションにインポートするC++DLLを作成しました。C++の関数コードはstatic bool IsSomethingAttached(char *Arg1[])

C#プログラムで以下のようにDllImportを使用すると、[DllImport( "DllName")]EntryPointNotFound例外としてエラーが発生します。

使用しました

**DumpBin /symbols Dllname.dll**壊れた名前を取得するため。

1)しかし、私はマングルされた名前を正確に取得する方法を知りません。/ exportsを使用する必要があると言っている投稿はほとんどありませんが、要約を表示するだけ/exportsでなく、/symbols名前が壊れてしまいます。Plヘルプ

2)undname.exeを使用して、装飾されていない名前から装飾された名前を取得するにはどうすればよいですか?

4

1 に答える 1

1

使用する、

/ALLコードの分解を除く、利用可能なすべての情報を表示します。/ DISASMオプションを使用して、分解を表示します。オプションを使用/RAWDATA:NONEして/ALL、ファイルの生のバイナリ詳細を省略することができます。/ALLオプションは他のすべてのオプションの単なる組み合わせであるため、例は必要ありません。

exportsC ++でファイルを使用し.defて、C#で装飾されていない名前を取得できます。ここではdumpBinは必要ありません

于 2012-06-18T10:03:33.170 に答える