существует ли какой-либо С++-кодирующий декодер для g++?
С++ имя mangling decoder для g++?
Ответ 1
Вы можете использовать С++ filter для демонстрации символов С++. Например,
$ c++filt -n _Z1fv
f()
Ответ 2
С++ filter, пример использования здесь:
Можем ли мы увидеть код, созданный шаблоном, с помощью компилятора С++
Ответ 3
Вы также можете быть заинтересованы в опции -C
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
он отобразит искаженное имя _Znam
.
Смотрите также: Может ли objdump отменять имена шаблонов С++?
Есть также некоторые онлайн-демонстранты, упомянутые в Есть ли онлайн-деманджер имени для С++?, например http://demangler.com/ Если он существует, есть SaaS.
nm
также имеет параметр -C
.