Linux系统下的交叉编译:
编译主机与目标运行主机不是同一个设备,那么该过程就称为交叉编译(预处理、编译、汇编、链接)。
嵌入式开发中,运行在PC平台上的编译工具链为gcc、ld、objcopy、objdump等,它们编译出来的程序在x86平台上运行。要编译出能在 ARM 平台上运行的程序,则须使用交叉编译工具 arm-linux-gcc、arm-linux-ld、arm-linux-objcopy、arm-linux-objdump等;PC与ARM的编译工具使用方法一致,单纯就是名字不一样。
gcc -E -o hello.i hello.c //预处理
gcc -S -o hello.s hello.i //编译
gcc -c -o hello.o hello.s //汇编
gcc -o hello hello.o //链接
./hello //运行
gcc -c -o hello.o hello.c //预处理,编译,汇编
gcc -o hello hello.o //链接
gcc -o hello hello.c 输出hello,然后./hello来执行该应用程序。
gcc hello.c 输出一个a.out,然后./a.out来执行该应用程序。
交叉编译的四个流程:
- 预处理
- 编译
- 汇编
- 链接
什么废话文学。。。。。。。