hello.c文件 1 2 #include 3 //#include 4 //#include 5 #ifndef __FORCE_NOGLIBC 6 #define __FORCE_NOGLIBC 7 #endif 8 9 int main(void) 10 { 11 int i; 12 13 write(1, "ABING0\n", 7); 14 for (i=0; i<5; i++) { 15 printf("Hello %d!\n", i); 16 // write(1, "ABING1\n", 7); 17 } 18 write(1, "ABING2\n", 7); 19 return 0; 20 } 如果不想使用glibc的话,可以加上__FORCE_NOGLIBC的宏定义,在c文件或者Makefile中加上都可以。如果希望使用glibc则不需要__FORCE_NOGLIBC宏定义。 Makefile文件 1 EXEC = hello 2 OBJS = hello.o 3 4 CROSS = iwmmxt_le- 5 6 CC = $(CROSS)gcc 7 8 STRIP = $(CROSS)strip 9 CFLAGS = -Wall -g -O2 -D__FORCE_NOGLIBC 10 #CFLAGS = -Wall -g -O2 11 #CFLAGS = -Wall -g -march=armv5t -O2 12 13 all: clean $(EXEC) 14 15 $(EXEC):$(OBJS) 16 $(CC) $(CFLAGS) -o $@ $(OBJS) 17 $(STRIP) $@ 18 19 clean: 20 -rm -f $(EXEC) *.o 21 运行结果root@EPC-8000:~# ./hello ABING0 Hello 0! Hello 1! Hello 2! Hello 3! Hello 4! ABING2 |