(十三)GCC编辑器和GDB调试工具

来源:互联网 发布:势不可挡网络剧 编辑:程序博客网 时间:2024/05/16 17:16
一、GCC编辑器
1、GCC编辑器的编译流程
预处理-->编译-->汇编-->链接

. c——c语言源代码
. h——程序所包含的头文件
. i——已经预处理过的c源代码文件
. s——汇编语言的源代码文件
. o——编译后的目标文件——不可执行的二进制文件

2、gcc指令的一般格式:gcc[ 选项 ] 要编译的文件 [ 选项 ] [ 目标文件 ]
-预处理阶段:处理所有#开头的指令,生成 .i 文件,(比如hello.c,将stdio.h文件的内容插入到 .i 文件中)
gcc -E hello.c -o hello.i
-编译阶段:gcc首先检查代码的规范性,包括语法的正确以及函数与变量的声明是否正确,在检查无误后,gcc将源代码翻译成汇编语言
gcc -S hello.i -o hello.s
-汇编阶段:将编译生成的.s文件转换成目标文件(不可执行的二进制文件)
gcc -c hello.s -o hello.o
-链接阶段:链接器会在所有的目标文件中找寻函数的实现,如果找不到就会报链接错误,链接成功后,就会生成可执行的二进制文件
gcc hello.o -o hello

二、GDB调试工具
1、作用:可以查看程序的内部结构,打印变量值,设置断点以及单步调试源代码
注:gdb调试的是可执行文件,不是.c文件
2、GDB调试流程
查看文件:(gdb)l
设置断点:(gdb)b 6(行号)
查看断点情况:(gdb)info b
运行代码:(gdb)r
查看变量值:(gdb)p n(变量名)
单步运行:(gdb)n(不进入调用函数的内部)
(gdb)s(进入调用函数的内部)
恢复程序运行:(gdb)c
帮助:(gdb)help 命令
退出:(gdb)quit
1 0
原创粉丝点击