Table of Contents
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.
Table of Contents