AndroidでC言語を使う4つのコンパイル方式

1220 ワード

一、helloworldを書く.c Android.mk
#include   
int main()  
{  
     printf("Hello World!
"); return 0; } LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES:=hello.c LOCAL_MODULE := helloworld LOCAL_MODULE_TAGS := optional include $(BUILD_EXECUTABLE)

二.コンパイル
1、NDK r 5を使う
ndk-buildコマンドの使用.2、汎用toolchain arm-none-linux-gnueabi-gcc-static helloを使用する.c-o helloworld adb push helloworld/data 3は、ソース環境でソースdevelopmentディレクトリの下にhelloディレクトリをコンパイルし、helloworld.c Android.mkをhelloディレクトリにコピーし、mmでいいです.4、ソースコード付きToolchainを使用する前に前のステップのhelloworldモジュールclean:make clean-helloworld showcommandsオプションを使用してhelloworldを再コンパイルし、具体的なコマンドを確認し、出力コマンドラインからAndroidコンパイル環境で使用するクロスコンパイルワークチェーンはprebuilt/linux-x 86/toolchain/arm-eabi-4.4であることがわかる.3/bin/arm-eabi-gcc: make  helloworld  showcommands (target Stripの役割は何ですか?)AndroidはCライブラリとしてglibcを採用していませんが、Googleが独自に開発したBionic Libcを採用しています.汎用のToolchainがAndroidのLinuxカーネルをコンパイル・移植するために使用するのは可能です.カーネルはCライブラリを必要としないためですが、Androidのアプリケーションを開発する場合、他のToolchainがコンパイルしたアプリケーションは静的なコンパイルしか採用できません翻訳方式でしか実行できず、静的方式でコンパイルされた実行ファイルは比較的大きい.