Dekoder nazw C++ Dla g++? [duplikat]
To pytanie ma już odpowiedź tutaj:
- Dlaczego typeid.name () zwracają dziwne znaki za pomocą GCC i jak sprawić, by drukowało niezaangażowane nazwy? 6 odpowiedzi
Czy Jest jakiś dekoder C++ do g++?
34
3 answers
Możesz użyć c++filt do demangle C++ symboli. Na przykład
$ c++filt -n _Z1fv
f()
49
Author: ryan_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-17 08:31:35
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-17 08:31:35
C++filt, przykład użycia tutaj:
Czy możemy zobaczyć kod instancyjny szablonu przez kompilator C++
11
Author: qdot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:03
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:03
Możesz być również zainteresowany {[2] } opcją objdump
:
objdump -CSr main.o
Które demangles relokacji odniesienia jak:
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
Bez -C
pokazywałaby zniekształconą nazwę _Znam
.
Zobacz także: czy objdump może un-mangle nazw funkcji szablonów C++?
Istnieją również niektóre demanglery online wymienione na czy istnieje nazwa online demangler dla C++? Jak http://demangler.com / Jeśli istnieje, istnieje SaaS tego.
nm
również posiada opcję -C
.
2
Author: Ciro Santilli 新疆改造中心 六四事件 法轮功,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:20
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:20