有没有用于g ++的C ++名称修改解码器?
答案 0 :(得分:50)
您可以使用c ++ filt来解码c ++符号。例如
$ c++filt -n _Z1fv
f()
答案 1 :(得分:11)
c ++ filt,这里的示例用法:
答案 2 :(得分:2)
您可能还对-C
的{{1}}选项感兴趣:
objdump
解码重定位引用,如:
objdump -CSr main.o
如果没有 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
。
另请参阅:Can objdump un-mangle names of C++ template functions?
还有一些在Is there an online name demangler for C++?提到的在线解码器,如http://demangler.com/如果存在,则有SaaS。
_Znam
也有nm
选项。