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

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



NAME    [Toc]    [Back]

       c++filt - Demangle C++ and Java symbols.

SYNOPSIS    [Toc]    [Back]

       c++filt [-_|--strip-underscores]
	       [-s format|--format=format]
	       [--help]  [--version]  [symbol...]

DESCRIPTION    [Toc]    [Back]

       The  C++  and Java languages provides function overloading, which means
       that you can write many functions with the same	name  (providing  each
       takes  parameters of different types).  All C++ and Java function names
       are encoded into a low-level assembly label (this process is  known  as
       mangling). The c++filt [1] 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:

	       c++filt I<symbol>

       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 lowlevel
 name "_foo".  This option  removes  the  initial  underscore.
	   Whether  c++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 by different
 C++ compilers.  The argument to this	option	selects  which
	   method 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.

FOOTNOTES    [Toc]    [Back]

       1.  MS-DOS  does  not  allow "+" characters in file names, so on MS-DOS
	   this program is named c++filt.

SEE ALSO    [Toc]    [Back]

       the Info entries for binutils.

COPYRIGHT    [Toc]    [Back]

       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 document
       under the terms of the GNU Free Documentation License, Version  1.1  or
       any  later  version  published by the Free Software Foundation; with no
       Invariant Sections, with no Front-Cover Texts, and with	no  Back-Cover
       Texts.	A copy of the license is included in the section entitled "GNU
       Free Documentation License".

3rd Berkeley Distribution	  2002-04-18			    C++FILT(1)
[ Back ]
 Similar pages
Name OS Title
c++filt OpenBSD demangle C++ symbols
c++filt NetBSD demangle C++ symbols
demangle IRIX demangle C++ external names to a readable format
optionalsym IRIX transform ELF symbols to optional symbols
jar Tru64 The Java Development Kit tools
jre Tru64 The Java Development Kit tools
javakey Tru64 The Java Development Kit tools
javap Tru64 The Java Development Kit tools
javac Tru64 The Java Development Kit tools
appletviewer Tru64 The Java Development Kit tools
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service