生成ARM汇编


使用ndk便可生成arm汇编


1.首先写好hello.c


2.编写makefile
   
   
   
   
   
#ndk根目录NDK_ROOT=E:\Android\android-ndk-r10b#编译器根目录TOOLCHAINS_ROOT=$(NDK_ROOT)/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64#编译器目录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=del#编译选项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#安装程序到手机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)

make old便可经过c来生成汇编文件


make便可编译arm汇编


Using as--the GNU Assembler 一份GNU arm汇编的文档



相关文章
相关标签/搜索