web-dev-qa-db-ja.com

g ++用のC ++名前マングリングデコーダー?

g ++用のC++名前マングリングデコーダーはありますか?

37
SunnyShah

C++ filtを使用して、c ++シンボルをデマングルできます。例えば

$ c++filt -n _Z1fv
f()
53
ryan_s
11
qdot

objdump-Cオプションにも興味があるかもしれません。

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がないと、マングルされた名前_Znamが表示されます。

参照: objdumpはC++テンプレート関数の名前のマングルを解除できますか?

C++のオンライン名デマングラーはありますか? のように http://demangler.com/ に言及されているオンラインデマングラーもいくつかあります。存在する場合はSaaSの。

nmには-Cオプションもあります。