您的位置:首页 > 移动开发 > Android开发

Android NDK支持RTTI

2016-01-25 16:43 781 查看
在 NDK r5 的 sources/cxx-stl/gnu-libstdc++/README 文件里,写着:

To use it, define APP_STL to 'gnustl_static' in your Application.mk.  

See docs/CPLUSPLUS-SUPPORT.html for more details.  

This implementation fully supports C++ exceptions and RTTI.  

也就是说,如果我们在 Application.mk 文件里面加上:

APP_STL := gnustl_static

就可以用 GNU libstdc++ 了,这个版本是支持 C++ exception 和 RTTI 的。(我顺便试了一下 NDK r5 里的 stlport,不支持 RTTI,使用 typeid 会报错)

注:Android Build System 总是会带上 -fno-rtti 的编译选项,但是如果你指定了 APP_STL 为 gnustl_static 的话,它会自动在后面再给你加一个 -frtti,这样 g++ 会以最后一个 flag 为准,所以就启用 RTTI 了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: