Вперед Назад Содержание

8. c++filt

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 читает символ из стандартного ввода и пишет перекодированное имя в стандартный вывод.
-_

--strip-underscores

На некоторых системах компиляторы C и C++ ставят символ '_' в начале каждого имени. Например C-имя 'foo' получит низкоуровневое имя '_foo'. Эта опция удаляет начальные подчеркивания. c++filt удаляет подчеркивания по умолчанию в зависимости от формата объектного файла.

-n

--no-strip-underscores

Не удалять начальные подчеркивания.

-s FORMAT

--format=FORMAT

c++filt понимает три различных метода кодирования, используемых различными C++ компиляторами. Этот аргумент выбирает какой метод должен использоваться:

GNU метод используемый GNU-компилятором (принято по умолчанию). LUCID метод используемый LUCID-компилятором. ARM используется спецификация C++ Annotated Refrence Manual.

--help

Показывает краткий список опций для c++filt и завершается.

--version

Показать номер версии c++filt.

ПРЕДУПРЕЖДЕНИЕ c++filt - новая утилита. Детали ее пользовательского интерфейса могут быть изменены в следующих реализациях. В частности, опции командной строки, которые могут понадобиться в будущем для перекодировки имени помещенного в этой же строке например: c++filt SYMBOL в будущем может превратиться в c++filt OPTION SYMBOL


Вперед Назад Содержание