是否有任何用于 g++ 的 C++ 名称修饰解码器?
问问题
18823 次
3 回答
65
您可以使用 c++filt 对 c++ 符号进行分解。例如
$ c++filt -n _Z1fv
f()
于 2010-12-17T08:31:35.320 回答
14
c++filt,这里的示例用法:
于 2010-12-17T08:30:36.110 回答
6
您可能还对以下-C
选项感兴趣objdump
:
objdump -CSr main.o
哪个 demangles 重定位引用,如:
char *sn = new char[4];
10: bf 04 00 00 00 mov $0x4,%edi
15: e8 00 00 00 00 callq 1a <main+0x1a>
16: R_X86_64_PC32 operator new[](unsigned long)-0x4
没有-C
它会显示损坏的名称_Znam
。
另请参阅:objdump 可以取消 C++ 模板函数的名称吗?
在Is there an online name demangler for C++?中也提到了一些在线解译器?像http://demangler.com/如果它存在,就有它的 SaaS。
nm
也有一个-C
选项。
于 2015-06-05T12:11:57.787 回答