C++11在Android NDK中已经支持了,本文主要介绍如何在NDK中添加C++11标准的支持。android

在开源项目Cocos2d-x中,已经添加了C++11标准的支持。c++

1.修改Application.mk文件,添加NDK_TOOLCHAIN_VERSION函数

NDK_TOOLCHAIN_VERSION=4.8

2.添加APP_CPPFLAGS,在命令行编辑时支持C++11

APP_CPPFLAGS := -frtti -std=c++11

而后编写测试函数,在JNI中调用此函数便可。

#include

#include

#include

using namespace::std;

#define LOG_TAG "cachetest"

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)

template

class MyArray

{

private:

vector m_Array;

public:

MyArray() { }

MyArray(const initializer_list& 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::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 foo = { 3, 4, 6, 9 };

foo.showContent();

}

具体视频教程,能够参考海同网校视频课程开发。

android ndk 编译c++11,Android NDK的C++11标准支持相关推荐

  1. 最新版FFmpeg移植Android:编译so库(基于NDK r20和FFmpeg-4.1.0)

    FFmpeg是非常强大的编解码库,支持相当多的格式.如果你仔细看一下手机中各种播放器的许可条款,一定不会缺少FFmpeg的身影. 但是网络上FFmpeg移植的资料都非常少,很多还是使用很老的库,比如使 ...

  2. ffmpeg android ndk编译,关于使用Android NDK编译ffmpeg

    由于项目需求,前两天在在ios项目中使用ffmpeg,写下了"关于ios中编译ffmpeg0.9.2库",然后有朋友在咨询,如何编译最新版的ffmpeg,其实最新版的编译也差不多, ...

  3. android资源编译失败,在android studio中打开一个新项目时,Android资源编译失败

    用我的android studio打开新项目时出现此错误 Android资源编译失败输出:C:\ Projects \ Popular2 \ app \ src \ main \ res \ draw ...

  4. android 6 编译 root权限,Android应用获得Root权限

    要让Android应用获得Root权限,首先Android设备必须已经获得Root权限. 应用获取Root权限的原理:让应用的代码执行目录获取最高权限.在Linux中通过chmod 777 [代码执行 ...

  5. ace+arm+linux,用NDK编译ACE在Android上运行

    1.准备工具链 ./build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-Androideabi-4.4.3 --arch=ar ...

  6. linux ndk编译静态库,Android开发教程:NDK编译静态库失败

    Android---NDK编译静态库失败 Android.mk 相关编译文件: include $(CLEAR_VARS) LOCAL_MODULE    := libdvnca LOCAL_SRC_ ...

  7. sqlite如何在android上编译,如何在Android中使用SQLITE中的准备语句?

    对于Android中准备好的SQLite语句,有SQLiteStatement..准备好的语句可以帮助您提高性能(特别是需要多次执行的语句),还有助于避免注入攻击.看见这篇文章就准备好的发言进行一般性 ...

  8. android 反编译报错,android反编译

    常用反编译方法: 1.先将.apk改为.zip或者.rar用winrar加压得到classes.dex文件 2.用dex2jar工具将.dex转为.jar,然后用jd-gui就可以打开.jar查看源文 ...

  9. android 库编译报错,Android Studio编译项目报错

    编译项目时报以下错误: Error:Execution failed for task ':app:dexDebug'. > mon.internal.LoggedErrorException: ...

  10. linux ndk编译so,有的APP NDK 编译的SO文件 无法调用 PackageManager

    反馈BUG之前,先issue里面搜看看有没有别人已经反馈过,重复的不予处理!! 问题描述 最近下了一个不可描述APP,实机是能运行的,不过在VXP里则报如下错误 07-14 15:48:28.672 ...

最新文章

  1. JavaWeb--过滤器
  2. Linux 最常用命令整理,建议收藏!
  3. 用构造函数来完成结构体的初始化
  4. Linux命令之 mount -- 文件系统挂载
  5. 《C++ Primer 5th》笔记(11 / 19):关联容器
  6. 一起玩Docker之1——Ubuntu配置安装Docker运行环境并安装(Ubuntu、Centos)镜像
  7. 【OpenCV 例程200篇】61. 导向滤波(Guided filter)
  8. 很实用的一个ext表格,具有很好的分页功能。
  9. js函数、事件、补充知识
  10. java计算机毕业设计美发门店管理系统源码+系统+数据库+lw文档
  11. Android Wifi控制方法总结
  12. java对比两张图片是否一致_Java实现图片对比功能
  13. 网页无法保存html文件,怎么保存无法保存的网页
  14. php 专业英语,给大家推荐几个专业英语翻译功能强大的网站
  15. 【转载】 Sqlserver使用Left函数从最左边开始截取固定长度字符串
  16. ^_^Hostname openapi.alipaydev.com not verified:
  17. Node.js报错:UnhandledPromiseRejectionWarning: Unhandled promise rejection
  18. css: 照片有如层叠效果
  19. C#下汉字转换成拼音
  20. qbo_webi: cherry server 有效url

热门文章

  1. 迅捷路由连接服务器未响应,迅捷路由器通过falogin.cn登录不了管理界面的解决办法...
  2. rocketmq订阅多个主题_RocketMQ 的消息模型
  3. kafka 集群_单机版kafka集群部署
  4. 优化算法求解复杂约束问题策略(以粒子群算法为例讲解求解复杂约束问题的多种策略)
  5. VTK:创建一个圆锥用法实战
  6. JavaScript实现更新数字指定偏移量上的值updateBit算法(附完整源码)
  7. OpenCASCADE:形状愈合之用于修复、分析和升级的辅助工具
  8. boost::math::quadrature::daubechies_wavelet_transform用法的测试程序
  9. boost::math模块二项式分布来预测概率 抛硬币时的正面和反面的测试程序
  10. boost::intrusive::avltree_algorithms用法的测试程序