c++filt(1) GNU Development Tools c++filt(1)NAME
c++filt - demangle C++ symbols
SYNOPSIS
c++filt
[-_|--strip-underscores] [-s {gnu,lucid,arm} |
--format={gnu,lucid,arm}] [--help] [--version] [symbol...]
DESCRIPTION
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.
OPTIONS-_
--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.
SEE ALSO
`binutils' entry in info; The GNU Binary Utilities, Roland H. Pesch
(June 1993).
COPYING
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)