Как получить demangled представление объекта, Пример для MSVC и GCC |
Здравствуйте, гость ( Вход | Регистрация )
Как получить demangled представление объекта, Пример для MSVC и GCC |
Andrew Selivanov |
18.12.2007, 16:53
Сообщение
#1
|
Участник Группа: Участник Сообщений: 249 Регистрация: 9.10.2007 Из: Москва Пользователь №: 3 Спасибо сказали: 15 раз(а) Репутация: 6 |
Описание проблемы
Итак, допустим мы хотим получить тип некоторого объекта, параметры и прочую информацию в runtime (например в целях отладки). Для этой цели можно использовать функцию typeid, но тут есть одна проблема - функция иногда возвращает тип объекта во внутреннем представлении конкретного компилятора (так называемое mangled представление http://en.wikipedia.org/wiki/Name_mangling). Итак, если мы хотим получить представление функции в demangled виде: Пример кода для компилятора GCC:
Результат работы: M1AVi int volatile A::* Для MSVC результат работы typeid сразу будет представлен в demangled виде. |
|
|
Текстовая версия | Сейчас: 27.12.2024, 10:13 |