2010-08-09 62 views
0

任何人都可以告诉我如何获得函数声明我的意思是函数名称从VC++ DLL文件。如何从VC++ .dll文件获取函数名称(函数声明)?

我有.dll的VC++,我想从中提取函数名称? 有没有可能让我知道。提前

感谢

感谢, 尼尔

+0

dll是否带有调试信息? – 2010-08-09 13:57:02

+0

没有DLL尚未与调试信息一起构建。 – 2010-08-09 14:06:11

回答

0

由于DLL不与调试信息构建,你只能看由DLL导出功能。使用“Dependency Walker”查看哪些函数由DLL导出。您将看到2种类型的功能。

如果该函数的名称没有被破坏(就像Windows DLL中的所有函数一样),那么你运气不好。有(据我所知)无法得到这些函数的参数(除了查看文档或可能随DLL提供的包含文件)。

如果函数的名称被破坏,它将会有一个像这样的名字:?makeSizePositive @?$ RectangleTemplate @ J @ TOOLS @@ QAEXXZ。此方法最初名为makeSizePositive,添加的所有乱码都给出了关于方法所在的类,名称空间和参数的一些线索。有关解释,请参阅http://www.kegel.com/mangle.html#operators

+0

任何方式,我可以看到唯一的函数名称没有参数的功能使用? – 2010-08-09 17:51:41

+0

我不这么认为。您可以通过关于所有参数的指示(包括根本没有参数)或者没有任何信息的unmangled函数名称来查看损坏的函数名称。 – Patrick 2010-08-10 10:07:26