Demangle C++ and Java symbols
c++filt [options] [symbol…]
QNX Neutrino, Linux, Microsoft Windows
See the Binutils documentation on the GNU website at https://www.gnu.org/software/binutils/manual/.
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 https://www.gnu.org/software/binutils/manual/.