首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从装饰名称中去掉名字?

如何从装饰名称中去掉名字?
EN

Stack Overflow用户
提问于 2012-02-07 14:01:23
回答 3查看 9.9K关注 0票数 12

在陈雷蒙德的职位上,,他似乎能够从修饰的名称中知道函数的未修饰名称。我不知道他怎么能这么做。

以这个装饰的名字,

?GetName@PushButton@UILibrary@@UAEPB_WPAPAVStringHolder@2@@Z

每个组成部分意味着什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-07 14:07:51

为了避免猜测,但仍然没有真正使用工具,函数可能是有用的。我希望这是一个权威的正确答案。

要手动执行此操作,此页这些都有关于该方案的一些信息。

基本轮廓是_name@scope@scope@@parameters@something@@something。我怀疑最后两个部分是堆栈大小和调用约定或类似的,但是文档可能有更多的细节。

票数 15
EN

Stack Overflow用户

发布于 2012-02-07 14:04:52

名称mangling依赖于编译器。

在您链接的文章中,Raymond使用MS (undname)来删除故障。

这是一张桌子显示编译器是如何损坏的。

票数 7
EN

Stack Overflow用户

发布于 2012-07-26 20:44:04

附带了一个undname.exe工具。

http://msdn.microsoft.com/en-us/library/ms937379.aspx

如果在默认位置有MS VS,则可以使用:

“C:\程序文件(x86)\Microsoft 10.0\VC\bin\undname.exe”x86 微软(注册商标) C++名称拆解器版权(C)微软公司。版权所有。 - "?GetName@PushButton@UILibrary@@UAEPB_WPAPAVStringHolder@2@@Z“是:-”公共:虚拟wchar_t const * __thiscall UILibrary:按钮::GetName(类UILibrary::StringHolder * *)“

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9177591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档