MAN page from Trustix binutils-2.13.2-3tr.i586.rpm
Section: GNU Development Tools (1)
c++filt - Demangle C++
and Java symbols.
and Java languages provides function overloading, which meansthat you can write many functions with the same name (providing eachtakes parameters of different types). All C++
and Java function namesare encoded into a low-level assembly label (this process is known asmangling
). The c++filt
program does the inverse mapping: it decodes (demangles
) low-levelnames into user-level names so that the linker can keep these overloadedfunctions from clashing.
Every alphanumeric word (consisting of letters, digits, underscores,dollars, or periods) seen in the input is a potential label. If thelabel decodes into a C++ name, the C++ name replaces the low-levelname in the output.
You can use c++filt to decipher individual symbols:
If no symbol
arguments are given, c++filt
reads symbolnames from the standard input and writes the demangled names to thestandard output. All results are printed on the standard output.
- On some systems, both the C and C++ compilers put an underscore in frontof every name. For example, the C name "foo" gets the low-levelname "_foo". This option removes the initial underscore. Whetherc++filt removes the underscore by default is target dependent.
- Prints demangled names using Java syntax. The default is to use C++syntax.
- Do not remove the initial underscore.
- -s format
- GNU nm can decode three different methods of mangling, used bydifferent C++ compilers. The argument to this option selects whichmethod it uses:
- the one used by the GNU compiler (the default method)
- the one used by the Lucid compiler
- the one specified by the C++ Annotated Reference Manual
- the one used by the HP compiler
- the one used by the EDG compiler
- the one used by the GNU compiler with the new ABI.
- Print a summary of the options to c++filt and exit.
- Print the version number of c++filt and exit.
- MS-DOS does not allow "+" characters in file names, so onMS-DOS this program is named c++filt.
the Info entries for binutils
Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.1or any later version published by the Free Software Foundation;with no Invariant Sections, with no Front-Cover Texts, and with noBack-Cover Texts. A copy of the license is included in thesection entitled ``GNU Free Documentation License''.
- SEE ALSO
This document was created byman2html,using the manual pages.