Карточка Middle Сборка и линковка обновлено

Name mangling

Вопрос

Что такое декорирование имён (name mangling) и как посмотреть исходное имя?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Компилятор кодирует в имени символа пространство имён, класс и типы параметров, чтобы перегруженные функции имели разные символы: ns::f(int) превращается в ZN2ns1fEi (Itanium ABI). Расшифровать: c++filt или nm -C.

Ответ

Компилятор кодирует в имени символа пространство имён, класс и типы параметров, чтобы перегруженные функции имели разные символы: ns::f(int) превращается в _ZN2ns1fEi (Itanium ABI). Расшифровать: c++filt или nm -C.

Разбор

Компилятор кодирует в имени символа пространство имён, класс и типы параметров, чтобы перегруженные функции имели разные символы: ns::f(int) превращается в _ZN2ns1fEi (Itanium ABI). Расшифровать: c++filt или nm -C.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.