我有一个 1998 年编写的 C++ DLL,我想查看成员(属性、字段、方法、构造函数等)。我的理解是写这个DLL的公司已经不在了,但是还在用。
如果我只有 DLL,这可能吗?或者您是否只需要知道 DLL 中的内容才能使用它。如果可能的话,我会怎么做?
我希望通过 P/Invoke 使用来自 .Net 的 DLL。
最佳答案
得到这个:http://www.dependencywalker.com/ ,使用depends.exe
打开DLL,然后激活“查看”菜单中的“Undecorate C++ Functions”。我主要用它来查找依赖项,但它也暴露了 DLL 的入口点。
这不是万无一失的,因为公开类的 DLL 不必导出其方法。例如,纯虚方法布局非常统一,您可以将您的实例公开为可能带有工厂函数的接口(interface)指针。但它可能会解决您的问题。
无论如何,您都需要一份 dependency walker。 :)
关于c++ - 查看 C++ DLL 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13822156/