项目引入了一些cocos2d-x 3.0的代码,大量使用c++11的新特性。这些在gcc4.6是不完全支持的,但是gcc4.7绝大部分已经支持。
设置toolchain的方法是在Application.mk中设置:
NDK_TOOLCHAIN_VERSION = 4.7
为了确认是否设置成功,在ndk-build调用时增加参数V=1。即 ndk-build v=1 ..其他参数..
这里在说一下关于新标准的经验。
依托于c++11的新标准,使用c++变得”爽“了很多。最本质的就是几个元素
1、auto关键字,这个可以使代码变得简洁很多,并且可以让程序员不那么关注类型(但是不是不关注类型)。
2、shared_ptr,虽然没有c++11的新标准项目也大量使用智能指针,但是归到标准库总是一件令人愉悦的事情。(你不需要引入boost或者是自己写一个智能指针库了)
3、function and bind,这两个东西的加入让回调函数变得优雅起来。 我使用脚本语言最方便的地方就是弱类型,比如lua,你可以随时随地保存一个function作为参数或者变量保存起来,然后合适的时机调用。合理使用function和bind你会发现c++有着不逊于高级语言的表达能力。
4、lambda,这个跟3一样,都是让代码变得整洁,让流程变得清晰。使用匿名函数,可以免去很多不必要的函数定义。不熟悉的人可能感觉语法诡异,但是熟悉后就会喜欢上它。参考java python lua objective-c....
5、thread,原本我更喜欢自己造轮子,但是造的多了就烦了。 使用thread就可以完美的解决各个平台的线程问题。而不需要使用pthread或者是自己的封装版本。老实说我现在还没有学会wp8平台下的线程库,但是借助于thread,我可以永远不去学习它。作为程序员,有的东西学的越多越好,有的东西没有太大必要学习,一味跟着微软后面跑的程序员不是好的程序员。
我现在想到的我喜欢并且常用的新特性就这些,另有一些不推荐使用的(如果不知道的话就不要知道):
1、统一初始化列表。 原因无他vs2012不支持,如果想要代码在wp8下编译,那就不要碰它
2、成员变量像java或c#一样,在声明的同时赋初值。 原因同上vs2012不支持。
3、部分特殊语义,不做列举,因为不喜欢。 有些语义是vs明确声明不支持的,这些高级货色除非证明是不可替代的,否则还是不要碰它。
4、变参模板,这个其实是很好的特性,跟1一样,可以2012不支持。暂时用替代方案吧。不过话说,除非是写signal或者是function这样的基础库,似乎用到变参模板的情况也不多。
分享到:
相关推荐
从Android NDK安装ARM交叉编译工具链涉及的技术领域包括Android开发、交叉编译、NDK使用、ARM架构以及Linux环境下的编译工具使用。以下是详细的知识点解析: Android NDK(Native Development Kit)是Android应用...
本文将深入探讨如何使用Android NDK(Native Development Kit)来编译适用于Android平台的eXosip库,包括静态库和动态库的构建过程。 首先,eXosip是基于OSI(Open Systems Interconnection)模型的SIP协议栈,它是...
本文将详细讲解如何在Android ARM平台上使用NDK工具进行Python的交叉编译。 首先,理解"arm交叉编译python"的概念。ARM是广泛应用于移动设备的一种处理器架构,如Android手机和平板电脑。交叉编译是指在一个平台上...
3. 使用`./gradlew clean`和`./gradlew assembleDebug`命令编译项目,检查NDK是否成功集成。 4. 运行应用,确认C/C++代码能够正确执行。 五、高级配置 1. 配置CMake或NDK-Build:根据项目需求选择合适的构建系统...
4. **编译源码**:使用NDK的交叉编译功能,生成适用于Android的静态或动态库。 5. **JNI接口**:在Java层创建JNI接口,调用C++编译的库函数。 6. **运行与调试**:在模拟器或真机上运行测试,确保移植成功。 **注意...
### Eclipse Android NDK环境配置及项目编译详细指南 #### 一、概述 本文档将详细介绍如何在Eclipse环境中配置Android NDK环境以及如何编译包含NDK组件的项目。NDK (Native Development Kit) 是Android平台提供的...
在这个场景中,我们将探讨如何在Android环境下使用NDK(Native Development Kit)编译Curl库源码。 首先,NDK是Google提供的一个工具集,允许开发者在Android应用中集成原生代码。通过NDK,我们可以编写C和C++代码...
3. **创建Android.mk文件**:`Android.mk`是Android NDK的构建脚本,它告诉NDK如何编译源代码。你需要创建一个名为`Android.mk`的文件,放在`libiconv`源代码目录下,内容如下: ``` LOCAL_PATH := $(call my-dir...
1、支持arm 2、支持aarch64
使用Android NDK编译oSIP库的好处在于: 1. **性能优化**:C/C++代码通常比Java代码执行效率更高,特别是在处理网络协议和底层通信时。 2. **资源管理**:原生库可以直接访问设备硬件,例如CPU和内存,有助于减少...
2. **预编译库**:NDK包含了一些预编译的库,如OpenSSL、SQLite等,开发者可以直接在项目中使用。 3. **头文件和库**:提供了Android系统API的C/C++头文件,使得开发者可以在原生代码中访问Android框架和系统服务。...
Android NDK(Native Development Kit)提供了一种方法来实现这样的编码转换,这就是使用Iconv库。Iconv是一个广泛使用的字符集转换工具,它允许在多种字符编码之间进行转换,包括Unicode、GBK和UTF-8。 Iconv在C/...
NDK是Android应用开发中的一个重要组成部分,它允许开发者使用原生代码(如C、C++)来编写部分应用程序,从而利用底层的硬件性能,提高程序运行效率,尤其是在处理图形计算、物理模拟和游戏引擎等高性能需求的场景下...
如果你的项目依赖于GCC的某些特性或者你需要继续维护使用GCC编译的旧代码库,"android-ndk-r17c-windows-x86_64.zip" 将是你理想的选项。在升级到更高版本的NDK之前,你需要确保你的代码和依赖项与Clang兼容,或者...
在Android平台上,利用NDK(Native Development Kit)编译wget项目是一个将开源的wget工具移植到Android设备上的过程。NDK允许开发者用C或C++编写原生代码,并将其集成到Android应用中,以实现高性能的计算或者利用...
Android NDK环境配置是Android应用开发中的一个重要环节,它允许开发者使用C或C++编写高性能的原生代码,这些代码可以被编译成动态库并与Java应用一同打包成APK。NDK集成了交叉编译器,使得开发者能够针对不同的CPU...
6. **使用编译后的so库**:在Android应用中,通过Java的JNI接口调用.so库中的函数,实现音视频处理功能。记得在Android.mk或CMakeLists.txt文件中指定本地库的路径。 通过以上步骤,开发者可以在Linux环境下成功...
Android NDK,全称为Native Development Kit,是Google提供的一款用于Android平台的C和C++库开发工具集。这个“android-ndk-r23b-linux.zip”文件是NDK的一个特定...因此,开发者应根据项目需求谨慎选择是否使用NDK。
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake`命令启动编译。 5. **构建Android.mk或CMakeLists.txt**:对于soxr,可能需要创建或修改`Android.mk`文件(如果是使用旧版的NDK构建...
使用NDK开发时,可以采用Android Studio集成的NDK支持,也可以使用命令行工具直接编译。Android Studio的Gradle插件支持CMake和ndk-build两种构建方式,使得原生代码的集成更加便捷。 **注意事项** - 开发原生代码...