C++ name mangling decoder for g++?

Publish date: 2024-05-07

is there any C++ name-mangling decoder for g++?

3

4 Answers

You can use c++filt to demangle c++ symbols. For instance

$ c++filt -n _Z1fv f() 

c++filt, example usage here:

Can we see the template instantiated code by C++ compiler

You may also be interested on the -C option of objdump:

objdump -CSr main.o 

which demangles relocation references like:

 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 

Without -C it would show the mangled name _Znam.

See also: Can objdump un-mangle names of C++ template functions?

There are also some online demanglers mentioned at Is there an online name demangler for C++? like http://demangler.com/ If it exists, there is SaaS of it.

nm also has a -C option.

1

you have c++filt. Recently I found an online tool as well.

1.

c++filt [-_|--strip-underscore] [-n|--no-strip-underscore] [-p|--no-params] [-t|--types] [-i|--no-verbose] [-r|--no-recurse-limit] [-R|--recurse-limit] [-s format|--format=format] [--help] [--version] [symbol…] 

Example: c++filt symbol

for more info

  • Online solution visit
  • ncG1vNJzZmirpJawrLvVnqmfpJ%2Bse6S7zGiorp2jqbawutJoa21uaGyEcXvCZqWapZViuqK6xqWgp59dmbKku8OeqWaen6d6qA%3D%3D