c++filt [-_ | --strip-underscores]
[-n | --no-strip-underscores]
[-s FORMAT | --format=FORMAT]
[--help] [--version] [SYMBOL ...]
Т.к. C++ позволяет перегружать функции, то появляется много
одноименных функций (различающихся только типами своих
параметров). Все имена C++ функций кодируются в низкоуровневый
формат (процесс известный как MangLing). Программа C++filt делает
обратное преобразование: она декодирует (DeMangles) низкоуровневые
имена в пользовательские имена.
Каждое слово (содержащее буквы, цифры, подчеркивания, доллар, точку) рассматриваются на входе как потенциальная метка. Если метка может быть декодирована в имя C++, то это имя заменяет низкоуровневое имя при выводе.
Вы можете использовать c++filt для перекодировки отдельного символа.
c++filt SYMBOL
Если аргумент SYMBOL не задан, C++filt читает символ из
стандартного ввода и пишет перекодированное имя в стандартный
вывод.
На некоторых системах компиляторы C и C++ ставят символ '_' в начале каждого имени. Например C-имя 'foo' получит низкоуровневое имя '_foo'. Эта опция удаляет начальные подчеркивания. c++filt удаляет подчеркивания по умолчанию в зависимости от формата объектного файла.
Не удалять начальные подчеркивания.
c++filt понимает три различных метода кодирования, используемых различными C++ компиляторами. Этот аргумент выбирает какой метод должен использоваться:
GNU метод используемый GNU-компилятором (принято по умолчанию). LUCID метод используемый LUCID-компилятором. ARM используется спецификация C++ Annotated Refrence Manual.
Показывает краткий список опций для c++filt и завершается.
Показать номер версии c++filt.
ПРЕДУПРЕЖДЕНИЕ
c++filt - новая утилита. Детали ее пользовательского
интерфейса могут быть изменены в следующих реализациях. В
частности, опции командной строки, которые могут понадобиться в
будущем для перекодировки имени помещенного в этой же строке
например:
c++filt SYMBOL
в будущем может превратиться в
c++filt OPTION SYMBOL