Go to the first, previous, next, last section, table of contents.


c++filt


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

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.

C++°ú Java´Â (´Ù¸¥ Á¾·ùÀÇ ÆĶó¹ÌÅ͸¦ ¹Þ´Â´Ù¸é) °°Àº À̸§À» ÇÑ ¿©·¯ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö ¿À¹ö·ÎµùÀ» Áö¿øÇÑ´Ù. ¸ðµç C++°ú Java ÇÔ¼ö À̸§Àº Àú¼öÁØ ¾î¼Àºí¸® À̸§À¸·Î º¯°æµÇ¾ß ÇÑ´Ù. (ÀÌ °úÁ¤À» ¸Í±Û¸µ(mangling)À̶ó ÇÑ´Ù.) (¿ªÁÖ; ¸Í±Û¸µÀº »õ·Î¿î ¾ð¾î°¡ »ý°åÀ» ¶§ (»õ·Î ¸¸µéÁö ¾Ê°í) ±âÁ¸ÀÇ ¸µÄ¿¿Í °°Àº ÄÄÆÄÀÏ °ü·Ã µµ±¸µéÀ» º°·Î ¼öÁ¤ÇÏÁö ¾Ê°íµµ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.) c++filt (1)Àº ¿ªÀ¸·Î º¯È¯À» ÇÑ´Ù. Áï Àú¼öÁØ À̸§À» »ç¶÷ÀÌ ¾Ë¾Æº¼ ¼ö ÀÖ´Â À̸§À¸·Î º¯È¯(µð¸Í±Û¸µ(demangling))ÇÏ¿© ¸µÄ¿°¡ ÀÌ ¿À¹ö·ÎµùµÈ ÇÔ¼ö¸¦ ´Ù·ê ¼ö ÀÖ°Ô ÇÑ´Ù.

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++ À̸§À¸·Î º¯È¯µÇ¸é Ãâ·Â¿¡¼­ C++ À̸§ÀÌ ´ë½Å »ç¿ëµÈ´Ù.

´ÙÀ½°ú °°ÀÌ c++filt´Â ½Éº¼ À̸§À» º¯È¯ÇÑ´Ù.

c++filt 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.
¾î¶² symbol ¾Æ±Ô¸ÕÆ®µµ »ç¿ëÇÏÁö ¾ÊÀ¸¸é, Ç¥ÁØÀÔ·ÂÀ¸·Î ½Éº¼ À̸§À» Àо º¯È¯µÈ À̸§À» Ç¥ÁØÃâ·ÂÀ¸·Î Ãâ·ÂÇÑ´Ù. ¸ðµç °á°ú´Â Ç¥ÁØÃâ·Â¿¡ Ãâ·ÂµÈ´Ù.

-_
--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 initial underscore. Whether c++filt removes the underscore by default is target dependent.
¸î¸î ½Ã½ºÅÛÀÇ C, C++ ÄÄÆÄÀÏ·¯´Â °¢ À̸§ ¾Õ¿¡ `_'À» ºÙÀδÙ. ¿¹¸¦ µé¾î C¿¡¼­ foo¶ó´Â À̸§ÀÌ Àú¼öÁØÀ¸·Î´Â _foo°¡ µÈ´Ù. ÀÌ ¿É¼ÇÀº ¾ÕÀÇ `_'À» Á¦°ÅÇÑ´Ù. c++filt°¡ ±âº»À¸·Î `_'À» Á¦°ÅÇÏ´ÂÁö´Â Ÿ°Ù¿¡ µû¶ó ´Ù¸£´Ù.
-j
--java
Prints demangled names using Java syntax. The default is to use C++ syntax.
Java ¹®¹ýÀ» »ç¿ëÇÏ¿© º¯È¯µÈ À̸§À» Ãâ·ÂÇÑ´Ù. ±âº»Àº C++ ¹®¹ýÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
-n
--no-strip-underscores
Do not remove the initial underscore.
¾ÕÀÇ `_'À» Á¦°ÅÇÏÁö ¾Ê´Â´Ù.
-s format
--format=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:
GNU c++flitÀº ´Ù¸¥ C++ ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¼¼Á¾·ùÀÇ ¸Í±Û¸µ ¹æ¹ýÀ» º¯È¯ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿É¼ÇÀÇ ¾Æ±Ô¸ÕÆ®´Â »ç¿ëÇÒ µð¸Í±Û¸µ ¹æ¹ýÀ» ¼±ÅÃÇÑ´Ù.
gnu
the one used by the GNU compiler (the default method)
GNU ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¹æ¹ý (±âº»°ª)
lucid
the one used by the Lucid compiler
Lucid ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¹æ¹ý
arm
the one specified by the C++ Annotated Reference Manual
C++ Annotated Reference Manual¿¡ ¼³¸íµÈ ¹æ¹ý
hp
the one used by the HP compiler
HP ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¹æ¹ý
edg
the one used by the EDG compiler
EDG ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¹æ¹ý
gnu-new-abi
the one used by the GNU compiler with the new ABI.
»õ·Î¿î ABI¸¦ °¡Áø GNU ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¹æ¹ý
--help
Print a summary of the options to c++filt and exit.
c++filtÀÇ ¿É¼ÇÀ» °£´ÜÈ÷ ¼³¸íÇÏ°í Á¾·áÇÑ´Ù.
--version
Print the version number of c++filt and exit.
c++filtÀÇ ¹öÀüÀ» Ãâ·ÂÇÏ°í Á¾·áÇÑ´Ù.

Warning: c++filt is a new utility, and the details of its user interface are subject to change in future releases. In particular, a command-line option may be required in the the future to decode a name passed as an argument on the command line; in other words,

ÁÖÀÇ! c++filt´Â »õ·Î ¸¸µé¾îÁø µµ±¸·Î, ¾ÕÀ¸·Î ¼¼ºÎÀûÀÎ ³»¿ëÀÌ º¯Çϱ⠽±´Ù. Ưº°È÷ ¾ÕÀ¸·Î ¸í·ÉÇà¿¡ ÁÖ¾îÁø ¾Æ±Ô¸ÕÆ®¸¦ º¯È¯Çϱâ À§Çؼ­ ¿É¼ÇÀÌ ÇÊ¿äÇÒ ¼öµµ ÀÖ´Ù. Áï,

c++filt symbol

may in a future release become
ÀÌ ¾Æ·¡¿Í °°ÀÌ µÉ ¼öµµ ÀÖ´Ù.

c++filt option symbol


Go to the first, previous, next, last section, table of contents.