AndroidでC言語を使う4つのコンパイル方式
1220 ワード
一、helloworldを書く.c Android.mk
二.コンパイル
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がコンパイルしたアプリケーションは静的なコンパイルしか採用できません翻訳方式でしか実行できず、静的方式でコンパイルされた実行ファイルは比較的大きい.
#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がコンパイルしたアプリケーションは静的なコンパイルしか採用できません翻訳方式でしか実行できず、静的方式でコンパイルされた実行ファイルは比較的大きい.