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 IO流实现删除文件夹以及文件夹中的内容
这篇主要是对IO文件流对文件常用处理中的删除文件夹,平时我们直接删除文件夹既可以删除里面的全部内容. 但是java在实现删除时,只能是文件才会被删除. 所以这里需要定义一个方法,来递归调用方法(递归调 ...
- apply()方法和call()方法
obj.func.call(obj1) //是将obj1看做obj,调用func方法,将第一个参数看做函数调用的对象,可以看做,将obj的方法给obj1使用 ECMAScript规范给所有 ...
- 洛谷11月月赛题解(A-C)
心路历程 辣鸡T3卡我1.5h题意,要不是最后nlh跟我解释了一下大样例估计这次是真凉透了.. A P4994 终于结束的起点 打出暴力来发现跑的过最大数据?? 保险起见还是去oeis了一波,然后被告 ...
- 1004. 填充矩形 (Standard IO)
题目描述 已知矩形的大小为n×m,现用a×a的正方形填充该矩形.输入三个正整数n,m,a(n,m,a≤10^9),计算至多能填入多少正方形?(正方形可以正好碰到矩形边界,但不能超出矩形外) 输入 一行 ...
- Linux Centos7安装Oracle12c第二版本
环境: CentOS7@VMware12,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB Oracle12C企业版64位 下载地址:http://www.oracle.com/technet ...
- 服务器端渲染VS浏览器端渲染
1)浏览器渲染和服务器渲染区别:何为渲染?如果我们只是想显示一堆不变的数据,那么我们直接写一个a.html丢到服务器上让客户端访问就可以了.但这是基本不可能的事情,数据一般是变化的.你不可能为每套数据 ...
- 【Supervised Learning】 集成学习Ensemble Learning & Boosting 算法(python实现)
零. Introduction 1.learn over a subset of data choose the subset uniformally randomly (均匀随机地选择子集) app ...
- Java Web----Servlet详解
这篇文章到上一篇,距离的有点遥远呀,隔了大概有两个月把,中间在家过了个年,哈哈~ 现在重新开始拾起,最近在看一本个人觉得很棒的书,<Java Web 整合开发王者归来>,现在写的这一系列基 ...
- python链接安卓 跳一跳
借鉴: 一百行代码实现微信跳一跳 之前需要安装adb 开启服务: adb nodaemon server 显示设备: adb devices 代码: import math import os im ...
- SQL Server 有序GUID,SequentialGuid,
问题描述 有序的GUID性能对比,堪比自增ID integer 一个大神告诉我NEWSEQUENTIALID() 在数据迁移的时候会有问题(感谢大神指点),所以我就深挖一下这个函数. 关于NEWSEQ ...