以下针对的是ARM系列微处理器
1. GCC是Linux操作系统环境下的编译工具,可以将C\C++\汇编语言编写的源程序编译连接成为可执行文件,包含以下四个阶段:
源程序 | 预处理阶段 | 编译阶段 | 汇编阶段 | 连接阶段 | 可执行文件 |
无-c -S -E 参数,生成可执行文件 | |||||
-c ,生成.o文件 | |||||
-S,生成.s文件 | |||||
-E,生成.i文件 |
2. GCC基本命令格式
GCC基本命令格式;
arm-linux-gcc [options] [filenames]
举例:
[ 固定格式 ] [ 命令参数 ] [文件名称]
- arm-linux-gcc -o test test.c 执行以上4个阶段 生成可执行文件test
- arm-linux-gcc -c -o test.o test.c 执行前3个阶段,生成目标文件test.o
- arm-linux-gcc -S -o test.s test.c 执行前2个阶段,生成汇编语言文件test.s
- arm-linux-gcc -E -o test.i test.c 执行前1个阶段,生成文件test.i
- arm-linux-gcc -g -o test test.c 执行以上4个阶段 生成带有调试信息的可执行文件test
说明:绿色字体表述编译后输出文件名称
对于2, -o test.o 参数去掉,编译器也会自动生成文件名为test.o的目标文件,同样,
对于3, -o test.s 参数去掉,编译器也会自动生成文件名为test.s的汇编语言文件
写完了,22.53,准备洗漱睡觉啦!