6

Android-NDK には、ネイティブ コードをビルドするための独自のコンパイラが付属しています。私の現在の android-NDK インストールに同梱されているバージョンはarm-linux-androideabi-g++ (GCC) 4.6.x-google 20120106 (prerelease)、GCC 4.6 のフォークだと思います。

通常の (バニラ) GCC 4.6 との違いは何ですか? ARM プラットフォーム向けのより良いコードを生成していますか?

バニラ GCC 4.7 や Clang など、他のコンパイラを使用して Android 用のソフトウェアをビルドしたいと考えています。C++11 のサポートが向上し、使用に苦労しているいくつかの機能 (テンプレート エイリアスなど) を実装しているためです。

  1. Android のネイティブ コードをビルドするために、最新のバニラ GCC または Clang を使用することは可能ですか? どのパラメータを使用すればよいですか?

  2. Android-SDK に同梱されているものとは異なるコンパイラを使用することの短所は何ですか?

4

2 に答える 2

2

注意: Google は Android NDK のリビジョン 8c に clang3.1 を追加しました。現在は「実験的」段階にありますが、簡単に試すことができます (近い将来、うまくいけば libc++ の適切な移植により、より適切にサポートされるでしょう)。

于 2012-11-16T15:02:04.057 に答える
2

GCC のすべての機能がネイティブ Android でサポートされていないため、Android GCC は Android 用にカスタマイズされています。可能性はないと思います。同じものをandroid ndk googleグループに投稿すると、Google Android Developersから回答が返されます。

彼らは、Android ndk を使用せずに Android コードをコンパイルするためにクロス コンパイラを利用できることを提案していました。

于 2012-08-13T07:25:19.753 に答える