c++filt - demangle C++ symbols
c++filt
[-_|--strip-underscores] [-s {gnu,lucid,arm} |
--format={gnu,lucid,arm}] [--help] [--version]
[symbol...]
The C++ language provides function overloading, which
means that you can write many functions with the same name
(providing each takes parameters of different types). All
C++ 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.
Every alphanumeric word (consisting of letters, digits,
underscores, dollars, or periods) seen in the input is a
potential label. If the label decodes into a C++ name,
the C++ name replaces the low-level name in the output.
You can use c++filt to decipher individual symbols by
specifying these symbols on the command line.
If no symbol arguments are given, c++filt reads symbol
names from the standard input and writes the demangled
names to the standard output. All results are printed on
the standard output.
-_
--strip-underscores
On some systems, both the C and C++ compilers put
an underscore in front of every name. For example,
the C name foo gets the low-level name _foo. This
option removes the leading underscore.
-s {gnu,lucid,arm}
--format={gnu,lucid,arm}
GNU nm can decode three different methods of
mangling, used by different C++ compilers. This
option selects which method it uses: the one used
by the GNU compiler, the one used by the Lucid
compiler, or the one specified by the C++ Annotated
Reference Manual. The default is the GNU style.
--help Print a summary of the options to c++filt and exit.
--version
Print the version number of c++filt and exit.
`binutils' entry in info; The GNU Binary Utilities, Roland
H. Pesch (June 1993).
Copyright (c) 1993 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim
copies of this manual provided the copyright notice and
this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified
versions of this manual under the conditions for verbatim
copying, provided that the entire resulting derived work
is distributed under the terms of a permission notice
identical to this one.
Permission is granted to copy and distribute translations
of this manual into another language, under the above
conditions for modified versions, except that this
permission notice may be included in translations approved
by the Free Software Foundation instead of in the original
English.
cygnus support June 1993 c++filt(1)
[ Back ] |