Demangle C++ and Java symbols


c++filt_variant [options] [symbol…]

where c++filt_variant depends on the target platform, as follows:

Target platform c++filt_variant
ARMv7 ntoarmv7-c++filt
AArch64 ntoaarch64-c++filt
x86 ntox86-c++filt
x86 64-bit ntox86_64-c++filt

Runs on:

Linux, Mac, Microsoft Windows


See the GNU website at http://www.gnu.org/.


The C++ and Java languages provides function overloading, which means that you can write many functions with the same name (providing each takes parameters of different types). All C++ and Java function names are encoded into a low-level assembly label (this process is known as mangling). The c++filt program does the inverse mapping: it decodes (demangles) low-level names into user-level names so that the linker can keep these overloaded functions from clashing.

For more information, see the Binutils documentation on the GNU website at http://www.gnu.org/.

Contributing author: