一、cc
1、一次运行
cc test.c -o test
2、分步运行
1、cc -c test.c
-c :表示只编译、产生中间文件,不进行链接、并产生最终的可执行程序
2、cc -o test test.c
-o :-o后的test为执行后生成的文件名,如果缺省则会自动生成名为a.out的文件
二、gcc
1、一次运行
gcc test.c -o test
2、分步运行
即预处理—> 编译—> 汇编 —> 连接
1、gcc -E test.c
-E: 预处理,主要是进行宏展开等步骤,生成的文件微test.i
2、gcc -S test.c
-S: 编译,生成汇编代码,生成的文件为test.S
3、gcc -c test.c
-c: 汇编:生成机器码,生成的文件未test.o
4、gcc test.c -o test
-o: 重命名, 使用命令gcc test.c -o test,生成可执行的test文件
当不使用-o选项时,执行命令gcc test.c,生成的是默认的a.out文件
5、./test
./:运行
6、其他参数
- -g 生成用于 dbg 可调试的文件,如果需要用 gdb 进行调试需要添加 -g 参数
- -w 不生成任何警告信息
- -Wall 生成所有警告信息
三、g++
1、一次运行
g++ test.c -o test
2、分步运行
1、g++ -E test.c
2、g++ -S test.c
3、g++ -c test.c
4、g++ test.c -o test
5、./test
四、gdb
1、一次运行
gcc -o test-g test.c
2、分步运行
1、编译
gcc -o test test.c
2、生成可调试文件:在gcc的基础上加上-g选项
gcc -o test -g test.c
3、调试程序
gdb test
4、执行程序
调试指令