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++°ú Java´Â (´Ù¸¥ Á¾·ùÀÇ ÆĶó¹ÌÅ͸¦ ¹Þ´Â´Ù¸é) °°Àº À̸§À» ÇÑ ¿©·¯ ÇÔ¼ö¸¦
»ç¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼ö ¿À¹ö·ÎµùÀ» Áö¿øÇÑ´Ù. ¸ðµç C++°ú Java ÇÔ¼ö À̸§Àº
Àú¼öÁØ ¾î¼Àºí¸® À̸§À¸·Î º¯°æµÇ¾ß ÇÑ´Ù. (ÀÌ °úÁ¤À» ¸Í±Û¸µ(mangling)À̶ó
ÇÑ´Ù.) (¿ªÁÖ; ¸Í±Û¸µÀº »õ·Î¿î ¾ð¾î°¡ »ý°åÀ» ¶§ (»õ·Î ¸¸µéÁö ¾Ê°í) ±âÁ¸ÀÇ
¸µÄ¿¿Í °°Àº ÄÄÆÄÀÏ °ü·Ã µµ±¸µéÀ» º°·Î ¼öÁ¤ÇÏÁö ¾Ê°íµµ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.)
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++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++ À̸§À¸·Î º¯È¯µÇ¸é
Ãâ·Â¿¡¼ C++ À̸§ÀÌ ´ë½Å »ç¿ëµÈ´Ù.
´ÙÀ½°ú °°ÀÌ c++filt
to decipher individual symbols:
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
foo
gets the low-level
name _foo
. This option removes the initial underscore. Whether
c++filt
removes the underscore by default is target dependent.
foo
¶ó´Â À̸§ÀÌ Àú¼öÁØÀ¸·Î´Â _foo
°¡
µÈ´Ù. ÀÌ ¿É¼ÇÀº ¾ÕÀÇ `_'À» Á¦°ÅÇÑ´Ù. c++filt
°¡
±âº»À¸·Î `_'À» Á¦°ÅÇÏ´ÂÁö´Â Ÿ°Ù¿¡ µû¶ó ´Ù¸£´Ù.
-j
--java
-n
--no-strip-underscores
-s format
--format=format
nm
can decode three different methods of mangling, used by
different C++ compilers. The argument to this option selects which
method it uses:
c++flit
Àº ´Ù¸¥ C++ ÄÄÆÄÀÏ·¯°¡ »ç¿ëÇÏ´Â ¼¼Á¾·ùÀÇ ¸Í±Û¸µ ¹æ¹ýÀ»
º¯È¯ÇÒ ¼ö ÀÖ´Ù. ÀÌ ¿É¼ÇÀÇ ¾Æ±Ô¸ÕÆ®´Â »ç¿ëÇÒ µð¸Í±Û¸µ ¹æ¹ýÀ» ¼±ÅÃÇÑ´Ù.
gnu
lucid
arm
hp
edg
gnu-new-abi
--help
c++filt
and exit.
c++filt
ÀÇ ¿É¼ÇÀ» °£´ÜÈ÷ ¼³¸íÇÏ°í Á¾·áÇÑ´Ù.
--version
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 symbolmay in a future release become
ÀÌ ¾Æ·¡¿Í °°ÀÌ µÉ ¼öµµ ÀÖ´Ù.c++filt option symbol
Go to the first, previous, next, last section, table of contents.