编译Linux写的arm汇编,ndk生成ARM汇编(附代码)

#ndk根目录

NDK_ROOT=E:/android/ndk/android-ndk-r10b

#编译器根目录

TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.6/prebuilt/windows

#编译器目录

TOOLCHAINS_PREFIX=$(TOOLCHAINS_ROOT)/bin/arm-linux-androideabi

#头文件搜索路径

TOOLCHAINS_INCLUDE=$(TOOLCHAINS_ROOT)/lib/gcc/arm-linux-androideabi/4.6/include-fixed

#SDK根目录

PLATFROM_ROOT=$(NDK_ROOT)/platforms/android-14/arch-arm

#sdk头文件搜索路径

PLATFROM_INCLUDE=$(PLATFROM_ROOT)/usr/include

#sdk库文件搜索路径

PLATFROM_LIB=$(PLATFROM_ROOT)/usr/lib

#文件名称

MODALE_NAME=hello

#删除

RM=rm

#编译选项

FLAGS=-I$(TOOLCHAINS_INCLUDE) \

-I$(PLATFROM_INCLUDE) \

-L$(PLATFROM_LIB) \

-nostdlib \

-lgcc \

-Bdynamic \

-lc

#所有obj文件

OBJS=$(MODALE_NAME).o \

$(PLATFROM_LIB)/crtbegin_dynamic.o \

$(PLATFROM_LIB)/crtend_android.o

#编译器链接

all:

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -c $(MODALE_NAME).s -o $(MODALE_NAME).o

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) $(OBJS) -o $(MODALE_NAME)

old:

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -E $(MODALE_NAME).c -o $(MODALE_NAME).i

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -S $(MODALE_NAME).i -marm -o $(MODALE_NAME).s

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) -c $(MODALE_NAME).s -o $(MODALE_NAME).o

$(TOOLCHAINS_PREFIX)-gcc $(FLAGS) $(OBJS) -o $(MODALE_NAME)

#删除所有.o文件

clean:

$(RM) *.o

$(RM) *.i

$(RM) $(MODALE_NAME)

#安装程序到手机

install:

adb push $(MODALE_NAME) /data/local/tmp

adb shell chmod 755 /data/local/tmp/$(MODALE_NAME)

adb shell /data/local/tmp/$(MODALE_NAME)

#运行程序

run:

adb shell /data/local/tmp/$(MODALE_NAME)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值