NDK-C++ support
1、NDK相关各种可用的C++运行库
Android平台自带微型C++运行库(system),NDK提供补充功能的C++运行库(gabi++, stlport, gnustl)
运行库 异常支持 RTTI支持 标准库概念综述
system No No No
gabi++ No Yes No
stlport No Yes Yes
gnustl Yes Yes Yes
指定运行库需要使用Application.mk文件中APP_STL变量
APP_STL := system
system:默认值
gabi++_static: 静态gabi++运行库
gabi++_shared: 共享gabi++运行库
stlport_static:静态stlport运行库
stlport_shared:共享stlport运行库
gnustl_static:静态gnustl运行库
gunstl_shared:共享gnustl运行库
静态库和共享库;
静态库直接集合到生成的二进制文件中,项目中包含单一原生模块时使用;
共享库单独存在,项目中有多个模块时使用;
e.g.
static{
System.loadLibrary("stlport_shared");
System.loadLibarary("module1");
System.loadLibarary("module2");
}
2、异常以及RTTI支持的可用性
异常:
只有在APP_STL := gnustl_shared时支持异常
可以在Android.mk中通过如下变量对单一模块添加:
LOCAL_CPP_FEATURES += exception
也可以在Application.mk中通过如下变量对整个项目添加:
APP_CPPFLAGS += -fexceptions
RTTI支持:
同异常;
LOCAL_CPP_FEATURES += rtti
or:
APP_CPPFLAGS += -frtti
3、C++标准库概念综述
容器:
1、序列:
vector,deque,list,slist
2、关联容器:
排序关联容器:set,map,multiset,multimap
哈希关联容器:hashed_set,hash_map,hash_multiset,hash_multimap
3、适配器:
stack,queue
4、string
迭代器:对指定范围内或一个容器内的对象进行迭代,迭代器是一个泛化的指针;
1、input iterator: 用来读取它所引用的元素的值;
2、output iterator:用于修改当前位置对象的值;
3、forward iterator:用于多种算法;
4、bidirectional iterator: 向前或向后遍历给定范围的元素;
5、random access iterator: 提供普通c指针算法的所有操作;
算法:
搜索、替换、复制、排序等;
4、C++运行库线程安全
运行库的读操作安全,写操作需要程序确保安全
5、C++运行库调试模式
参考:《Android C++高级编程》 11、支持C++
NDK-C++ support的更多相关文章
- Install NDK in Eclipse/Android Studio
1. Download NDK https://developer.android.com/tools/sdk/ndk/index.html 2.Install NDK $ tar xvf andro ...
- NDK开发_笔记0
自谷歌搜索退出中国以来,谷歌对全球第二大市场中国的态度一直保持冷淡.可是北京时间12月8日,谷歌2016开发者大会在北京召开,同时专门针对中国的谷歌开发者网站已经上线:https://develope ...
- NDK 笔记(一)
参考:https://developer.android.com/studio/projects/add-native-code.html#link-gradle 使用Android Studio 2 ...
- Eclipse ndk fix插件开发
一. 手工修复ndk环境bug Eclipse做ndk开发的时候, 经常会遇到编译过去,却报语法错误的问题,比如 ①. 头文件不识别 ②. 头文件识别了, 类型不识别 针对这一的bug,我们一般按照如 ...
- android studio 1.0 开发 ndk 调用 c++ so库
一个没用过java和安卓的人使用android studio开发带c++ so库的安卓程序用例(以ndk的hello-jni为例),对于不熟悉java和安卓的人来说这个很花时间,希望通过这篇文章帮助跟 ...
- 【android 开 发 】 - Android studio 下 NDK Jni 开发 简单例子
Android 开发了一段时间,一方面 ,感觉不留下点什么.有点对不起自己, 另一方面,好记性不如烂笔头,为了往后可以回头来看看,就当做是笔记,便决定开始写博客.废话不多说 ! 今天想搞一搞 ndk ...
- Android Studio NDK编程-环境搭建及Hello!
一,下载 安装android-ndk开发包 NDK各个版本链接二,新建项目NDKDemo,选择空Activity就可以:(注:Android studio 2.2,可通过SDK Tools 添加LLD ...
- NDK开发-Android Studio+gradle-experimental开发ndk
在最新的Android Studio2.2的preview版中,增加全新的ndk支持,使用了新的gradle,以及DSL语言. 新的NDK需要使用新的Gradle插件和新的Android插件来支持! ...
- Android Native 代码NDK开发学习笔记
引用:http://www.kunli.info/2011/08/21/android-native-code-study-note/ JNI,全称Java Native Interface,是用于让 ...
- 初识Android NDK
本文介绍Windows环境下搭建Android NDK开发环境,并创建一个简单的使用Native代码的Android Application. 一.环境搭建 二.JNI函数绑定 三.例子 一.环境搭建 ...
随机推荐
- java 多线程执行过程
1.分支线程执行 过程: 2.线程运行的状态:五大状态 线程: 从新建状态 就绪状态 运行状态 挂起(阻塞)状态 死亡状态(结束,销毁) 3. 多线程:在同一个时间执行多个任务的操作,现在的软 ...
- windows 2003 安装 MVC 环境 404错误,无法找到该页
在windows server 2003 IIS6 系统安装 DotNet 4.0 + MVC3 环境后, .cshtml 文件依然无法运行,404错误 解决方案:查看处理程序隐射,如果没有.csht ...
- c++开发ocx入门实践三--基于opencv的简易视频播发器ocx
原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51404649 利用opencv做了个简易的视频播放器的ocx,可以在c++/c#/web ...
- IE的兼容性设置 X-UA-Compatible
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" /> 是IE8 ...
- restful知识点之二restframework视图
restful协议理解:面向资源开发 restful协议 ---- 一切皆是资源,操作只是请求方式 ----book表增删改查 /books/ books /books/add/ addbook /b ...
- python numpy+mkl+scipy win64 安装
用pip在windows下安装numpy,scipy等库时一般来说都不会很顺利比较好的方式是自己下载对应的whl文件pip install 话不多说上链接 http://www.lfd.uci.edu ...
- html5之hash
http://blog.csdn.net/u012028371/article/details/67636395 原文:https://www.studyscript.com/Post/index/i ...
- Java 调用 Rest api 设置经典 Linux 虚拟机的实例启停
现象描述 用户可以通过 Rest API 设置经典 Linux 虚拟机实例的启停.在调用该 API 时需要通过 Azure Active Directory(下文简称 AAD) 获取 Token,但是 ...
- js 数据格式化
//金额增加千分号formatPrice(123456.78) = 123,456.78 function formatPrice(val) { var parts = val.toString(). ...
- WPF DatePicker日期控件只显示年月
1.需要引用2个类,第一个类DatePickerCalendar public class DatePickerCalendar { public static readonly Dependency ...