Search code examples
c++g++rttiname-mangling

Can I ungarble GCC's RTTI names?


Using gcc, when I ask for an object/variable's type using typeid, I get a different result from the type_info::name method from what I'd expect to get on Windows. I Googled around a bit, and found out that RTTI names are implementation-specific.

Problem is, I want to get a type's name as it would be returned on Windows. Is there an easy way to do this?


Solution

  • If it's what you're asking, there is no compiler switch that would make gcc behave like msvc regarding the name returned by type_info::name().

    However, in your code you can rely on the gcc specific __cxa_demangle function.

    There is in fact an answer on SO that addresses your problem.

    Reference: libstdc++ manual, Chapter 40. Demangling.