2012-08-13 120 views
6

Android-NDK提供了自己的编译器来构建本机代码。我目前使用的android-NDK安装版本是arm-linux-androideabi-g++ (GCC) 4.6.x-google 20120106 (prerelease),我想这是GCC 4.6的一个分支。在Android NDK中使用vanilla GCC(或Clang)

它和普通(香草)GCC 4.6有什么区别?它是否为ARM平台生成更好的代码?

我想使用其他编译器为android构建软件,比如vanilla GCC 4.7或Clang,因为它们更好地支持C++ 11并实现了一些我努力使用的功能(比如模板别名)。

  1. 是否有可能使用最新的vanilla GCC或Clang构建Android本机代码?我应该使用什么参数?

  2. 使用与android-SDK不同的编译器的缺点是什么?

+0

GCC 4.7太年轻 - 至于写这个,它已经一个月大了。等待。 :) – 2012-08-13 07:44:35

回答

2

Android GCC是为Android定制的,因为GCC中的所有功能都不受原生Android支持。我不认为有这种可能性,你可以在android ndk谷歌组中发表相同的答案,Google Android Developers将回答你的答案。

他们建议我们可以使用交叉编译器来编译android代码,并使用android ndk。

+0

一个建议,但不是高优先级:端口LLVM的libC++到Android NDK(和平台)[http://code.google.com/p/android/issues/detail?id=36496](http:/ /code.google.com/p/android/issues/detail?id=36496) – douyw 2012-10-23 16:08:52

2

只是单挑:google在Android NDK的修订版8c中添加了clang3.1。它现在处于“实验”阶段,但很容易尝试(并且在不久的将来可能会得到更好的支持,希望通过适当的libC++端口也可以)。

相关问题