gcc整个编译过程如图
.c文件到.exe文件(linux是.out文件)
gcc file.c // 生成a.exe文件
gcc file.c -o file // 指定生成文件的名字
gcc -w file.c // 不生成任何警告信息。
gcc -Wall file.c // 生成所有警告信息。
.c文件到.i文件
gcc -E file.c -o file.i
.c文件到.s文件,汇编文件
gcc -S file.c
.i文件到 .s
gcc -S file.i
.s文件到 .out 二进制码文件
gcc -c file.s
.out 文件到 .exe(可执行文件)
gcc file.o
输出所有中间过程代码
gcc -save-temps file.c
显示编译过程
gcc -v file.c
gcc调试
gcc -g file.c -o file
然后使用
gdb file
进入调试界面
常用gdb命令:
kill 终止正在运行的程序
list 列出源代码
next 运行下一行代码但不进入函数内部
step 运行下一行代码且进入函数内部
run 运行代码
quit 退出gdb
watch 变量名 监视一个变量
break 行数 设置断点
shell 命令 不退出gdb执行shell命令
g++相同