所以我玩弄一个DLL(UnityEditor.dll)我想获得这个托pipe的DLL里面的所有函数的列表是非托pipe的(dll可能是由本地C ++(如果使用静态编译的库)组成的,核心和托pipeC ++包装所有包装成一个dll)我想获得该Dll内的所有非托pipefunction的列表,例如创build我自己的托pipe\非托pipe包装?
Visual Studio附带的dumpbin.exe
实用程序可用于显示导出列表。 例如:
dumpbin.exe / EXPORTS C:\ WINDOWS \ System32 \ coreel32.dll
示例输出:
Microsoft(R)COFF / PE Dumper Version 10.00.30319.01 版权所有(C)微软公司。 版权所有。 文件C:\ Windows \ System32 \ kernel32.dll的转储 文件类型:DLL 部分包含KERNEL32.dll的以下导出 00000000的特点 4E20FBA0时间日期戳2011年7月16日星期六03:46:56 0.00版本 1个序数基地 1390个功能 1390个名字 序号提示RVA名称 1 0 AcquireSRWLockExclusive(转发给NTDLL.RtlAcquireSRWLockExclusive) 2 1 AcquireSRWLockShared(转发给NTDLL.RtlAcquireSRWLockShared) 3 2 00004440 ActivateActCtx 4 3 00066B80 AddAtomA 5 4 00066B20 AddAtomW 6 5 0006ADF0 AddConsoleAliasA 7 6 0006AE60 AddConsoleAliasW
打开.dll文件,并使用Microsoft提供的二进制PE / COFF规范查找此PE文件的EXPORT部分。
但是我认为这是一个矫枉过正的问题。 你的问题应该是一个具体的要求。 你想要包装什么,你有什么? 只有二进制文件和没有源/头?
DLL不包含“功能”。 它们包含代码和入口点。 除非您有调试数据库,否则无法从优化的代码中知道函数之间的转换。