Используя gcc, когда я прошу тип объекта/переменной с помощью идентификатора типа, я получаю другой результат type_info:: метод имени от того, что я ожидал бы входить в Windows. Я Погугленный вокруг немного и узнанный, что имена RTTI являются определенными для реализации.
Проблема, я хочу получить имя типа, когда она была бы возвращена в Windows. Существует ли простой способ сделать это?
Я думаю, что вы можете использовать фильтрацию maven, хотя это было бы странно.
Вот статья об этом подходе.
-121--4268535-Я думаю, что вы ищете что-то близкое к Джахии. Он поддерживает GWT, мэшапы, медиаконтент и т. д.
http://www.jahia.org/cms/lang/en/home/Jahiapedia/Jahia_Templates http://www.jahia.net/downloads/jahia/jahia6.0.0/readme/index.html
-121--679194- Если вы об этом спрашиваете, нет коммутатора компилятора, который бы вел себя как msvc относительно имени, возвращенного type _ info:: name ()
.
Однако в коде можно использовать функцию gcc specific __ cxa _ demangle
.
На самом деле есть ответ на SO, который решает вашу проблему .
Справочник: руководство libstdc++, глава 40. Деманглинг .
Названия функций C ++ действительно включают в себя все данные возврата и типа аргумента, а также имя класса и метода. При компиляции они «проникают в стандартную форму» (стандартный для каждого компилятора), который может выполняться в качестве символа ассемблера и включает в себя всю информацию о типе.
Вам необходимо запустить функцию или программу, чтобы поменять эту погружение, называемую Demangler .
Попробуйте запустить
c++filt myoutput.txt
на выходе функции. Это деленды реальное имя символа обратно в читаемую форму человека.