相信Android开发者都喜欢用C++编写一些高效的应用,有关Android NDK的C++开发相关知识总结如下:

从Android NDK r5开始支持了STL Port,在这个版本开始就可以使用部分STL库的功能了,比如说vector、string摆脱c下面容易出现的数组未初始化、越界,增强应用的健壮性。 很多网友包含了include <vector> 这样头,但仍然无法编译,这里你首先要检查当前文件是否为.cpp后缀,同时为了使用标准库必须加入 APP_STL := stlport_static 在Application.mk文件中。相关对应还有 system- 使用默认最小的C++运行库,这样生成的应用体积小,内存占用小,但部分功能将无法支持 stlport_static- 使用STLport作为静态库,这项是Android开发网极力推荐的 stlport_shared- STLport 作为动态库,这个可能产生兼容性和部分低版本的Android固件,目前不推荐使用。 gnustl_static- 使用 GNU libstdc++ 作为静态库 默认情况下STLPORT是不支持C++异常处理和RTTI,所以不要出现 -fexceptions 或 -frtti ,如果真的需要可以使用gnustl_static来支持标准C++的特性,但生成的文件体积会偏大,运行效率会低一些。 支持C++异常处理,在Application.mk中加入 LOCAL_CPPFLAGS += -fexceptions这句,同理支持RTTI,则加入LOCAL_CPPFLAGS += -frtti,这里Android123再次提醒大家,第二条说的使用gnustl静态库,而不是stlport。 强制重新编译 STLPort ,在Application.mk中加入 STLPORT_FORCE_REBUILD := true 可以强制重新编译STLPort源码,由于一些原因可能自己需要修改下STLPort库,一般普通的开发者无需使用此项。 Android目前最新的NDK版本为r6,相关的学习可以查看NDK中的Samples整体和在PC上开发没有太大的不同。

更多相关文章

  1. android:shape的使用
  2. 实现Android(安卓)Studio JNI开发C/C++使用__android_log_print
  3. 使用Android(安卓)adb命令来启动Android应用程序
  4. Android学习路线
  5. Android:shape的使用详解(1)
  6. Android中使用SAX方式解析XML文件
  7. android-studio使用cmake编译ffmpeg实践
  8. 分享两本android电子书
  9. 【Android(安卓)应用开发】Android资源文件 - 使用资源存储字符

随机推荐

  1. android基于ffmpeg本地视频、在线视频、
  2. sqlite cursor
  3. Android社交系统
  4. 210开发板Android系统串口程序
  5. Unity3D For Android 开发教程--环境搭建
  6. 在英特尔® 凌动™ 处理器上将 OpenGL*
  7. 打造浪漫的Android表白程序
  8. 推荐一些高级Android开发者必备工具
  9. android基于百度云消息推送通知集成
  10. 【Android UI设计与开发】第09期:底部菜单