6

Android-NDK 提供了自己的编译器来构建本机代码。我当前的 android-NDK 安装附带的版本是arm-linux-androideabi-g++ (GCC) 4.6.x-google 20120106 (prerelease),我猜它是 GCC 4.6 的一个分支。

它与常规(香草)GCC 4.6 有什么区别?它是否为 ARM 平台生成了更好的代码?

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

  1. 是否可以使用最新的 vanilla GCC 或 Clang 为 Android 构建本机代码?我应该使用哪些参数?

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

4

2 回答 2

2

Android GCC 是为 android 定制的,因为原生 Android 不支持 GCC 中的所有功能。我不认为有可能,您可以在 android ndk google 组中发布相同的内容,您的答案将由 Google Android 开发人员回复。

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

于 2012-08-13T07:25:19.753 回答
2

提醒一下:谷歌在 Android NDK 的 8c 版中添加了 clang3.1。它现在处于“实验”阶段,但很容易尝试(并且可能会在不久的将来得到更好的支持,希望也有适当的 libc++ 端口)。

于 2012-11-16T15:02:04.057 回答