*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> c++filt (1)              



NAME    [Toc]    [Back]

       c++filt - demangle C++ symbols

SYNOPSIS    [Toc]    [Back]

              [-_|--strip-underscores] [-s {gnu,lucid,arm} |
              --format={gnu,lucid,arm}] [--help] [--version]

DESCRIPTION    [Toc]    [Back]

       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    [Toc]    [Back]


              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}

              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.

              Print the version number of c++filt and exit.

SEE ALSO    [Toc]    [Back]

       `binutils' entry in info; The GNU Binary Utilities, Roland
       H. Pesch (June 1993).

COPYING    [Toc]    [Back]

       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

cygnus support              June 1993                  c++filt(1)
[ Back ]
 Similar pages
Name OS Title
c++filt Linux Demangle C++ and Java symbols.
demangle IRIX demangle C++ external names to a readable format
optionalsym IRIX transform ELF symbols to optional symbols
knlist Tru64 look up symbols in the currently running kernel
strip IRIX remove symbols and relocation bits
end IRIX loader defined symbols in a program
strip Tru64 Removes symbols and relocation bits
Symbol IRIX manipulate Perl symbols and their names
strip OpenBSD Discard symbols from object files.
strip NetBSD Discard symbols from object files.
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service