Android NDK的C++11标准支持
C++11于Android NDK它已被支持,本文介绍了如何NDK添加C++11支持标准。
在开源项目Cocos2d-x于,他已经加入C++11支持标准。
1.改动Application.mk文件,加入NDK_TOOLCHAIN_VERSION
NDK_TOOLCHAIN_VERSION=4.8
2.加入APP_CPPFLAGS,在命令行编辑时支持C++11
APP_CPPFLAGS := -frtti -std=c++11
然后编写測试函数。在JNI中调用此函数就可以。
#include <android/log.h> #include <vector>
#include <initializer_list>
using namespace::std; #define LOG_TAG "cachetest"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) template <typename T>
class MyArray
{
private:
vector<T> m_Array; public:
MyArray() { } MyArray(const initializer_list<T>& il)
{
// Manually populate the elements of the array from initializer_list x
for (auto x: il){ // use range-based for statement to iterate over the elements of the initializer list
m_Array.push_back(x); // push them into the array manually
}
} void showContent()
{
//old way
LOGI("in old way");
for (std::vector<int>::iterator itr = m_Array.begin(); itr != m_Array.end(); ++itr){
LOGI("%d",(*itr));
} LOGI("in c++11 new way");
for (auto x: m_Array){ //x is readonly
LOGI("%d",x);
}
}
}; void test_cpp_new_version_11()
{
auto x = 1;//int x = 1;
int *p = nullptr;//int *p = NULL;
MyArray<int> foo = { 3, 4, 6, 9 };
foo.showContent();
}
详细视频教程,能够參考海同网校视频课程<安卓NDK>开发。
http://www.iotekclass.com/goods/courseDetail?
goodId=83
版权声明:本文博主原创文章,博客,未经同意不得转载。
Android NDK的C++11标准支持的更多相关文章
- Android NDK开发及调用标准linux动态库.so文件
源:Android NDK开发及调用标准linux动态库.so文件 预备知识及环境搭建 1.NDK(native development Kit)原生开发工具包,用来快速开发C.C++动态库,并能自动 ...
- VS2010编译器工具cl对c++11标准支持情况測试
本文探讨了VS2010编译工具cl对C++11标准的支持情况.提供了利用C++11新特性的两段代码来进行測试,并同g++ 4.9.3编译器的编译情况相对照.总的说来:VS2010的编译器工具cl部分支 ...
- Android NDK开发之Android.mk文件
Android NDK开发指南---Android.mk文件 博客分类: Android NDK开发指南 Android.mk文件语法详述 介绍: ------------ 这篇文档是用来描述你的 ...
- 使用GDB调试Android NDK native(C/C++)程序-转
最 近写了些需要跨平台兼容的C++库,Android是其中需要兼容的平台之一.区别于Windows,Mac中功能强大的IDE环境,官方并没有为 Android ndk提供太多的支持.因此,尝试了下通过 ...
- 转:linux下安装或升级GCC4.8,以支持C++11标准
转:http://www.cnblogs.com/lizhenghn/p/3550996.html C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言 ...
- linux下安装或升级GCC4.8,以支持C++11标准
C++11标准在2011年8月份获得一致通过,这是自1998年后C++语言第一次大修订,对C++语言进行了改进和扩充.随后各编译器厂商都各自实现或部分实现了C++中的特性. 如需查看各编译器对C++1 ...
- Linux下改动Matlab配置文件支持C++ 11标准以生成mex
进入matlab 输入mex -v命令查看当前配置 输入命令改动配置文件 命令: !sudo gedit /usr/local/MATLAB/R2013a/bin/mexopts.sh 加入下面蓝色内 ...
- linux下安装或升级GCC4.8.2,以支持C++11标准[转]
在编译kenlm的时候需要安装gcc, 然后还需要安装g++. g++安装命令:sudo apt-get install g++ ----------------------以下为网上转载内容,加上自 ...
- 支持C++11标准
设置CB下的GCC. Settings->Compiler->Compiler Settings勾选Have g++ follow the C++11 ISO C++ language s ...
随机推荐
- java显示本地磁盘所有盘符,显示桌面路径
import java.io.File; import javax.swing.filechooser.FileSystemView; /** 显示本地磁盘根盘符,显示桌面路径 */ public c ...
- SimpleDateFormat使用特定的解释
public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的详细类. 它同意格式化 ...
- HDU 3715 Go Deeper(2-sat)
HDU 3715 Go Deeper 题目链接 题意:依据题意那个函数,构造x数组.问最大能递归层数 思路:转化为2-sat问题,因为x仅仅能是0.1,c仅仅能是0,1.2那么问题就好办了,对于0, ...
- Linux 在下面MATLAB下载
网上找了很长一段时间都没有很好的连接,或者是一个普通的软件, 在这里,给大家一个连接: ed2k://|file|[%E7%9F%A9%E9%98%B5%E5%AE%9E%E9%AA%8C%E5%AE ...
- implements KeyListener但关键监听器监听少
今天写的游戏.主要听众,但它并不总是加入了育雏, 我实现了接口,但不听 后来,我发现只是没想到服用口服细致怎么称呼控制panel上面增加了一个addKeyListener(this); 基础不坚固.马 ...
- Java网络编程注意事项3
如何使用POST请求和GET请求Web网站发送请求,下面的参考代码: import java.io.BufferedReader; import java.io.InputStream; import ...
- Nuget的使用
前言 最近看到园子上有关于NuGet (读音:new get)的使用,所以心血来潮也跟着学习做了一下,觉得很流b哦.于是也就记一下自己的学习心得(并非一味的重复轮子,只是觉得他人做的写的就是对的,自己 ...
- Android - 除首次使用状态(SharedPreferences)
除首次使用状态(SharedPreferences) 本文地址: http://blog.csdn.net/caroline_wendy 用户首次登陆时, 可能须要用户教育, 解说界面操作, 可是不应 ...
- COCOFrame
COCOFrame它是一个轻量级的开发框架,综合Android APP开发过程中经常使用的工具,方法,特效.当中F类採用的AndroidQuery实现,做了进一步的封装及部分优化. 1. Jar包大小 ...
- 推荐他们认为有用Sublime Text3小工具
所有插件package control安装.一些国家的破解版sublime该插件是建立,安装自己的百度没有内置的方法,这里就不再重复 打开sublime.ctrl+shift+P,输入pis回车,稍等 ...