我可以解读GCC的RTTI名称吗?

Ale*_*rak 6 c++ g++ rtti name-mangling

使用gcc,当我使用typeid请求对象/变量的类型时,我得到了与我期望在Windows上获得的type_info :: name方法不同的结果.我用Google搜索了一下,发现RTTI名称是特定于实现的.

问题是,我想获得一个类型的名称,因为它将在Windows上返回.是否有捷径可寻?

Gre*_*osz 7

如果这是你要问的,没有编译器开关会使gcc表现得像msvc关于返回的名称type_info::name().

但是,在您的代码中,您可以依赖于gcc特定的__cxa_demangle功能.

事实上,有一个答案可以解决您的问题.

参考:libstdc ++手册,第40章.Demangling.