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

本文详细介绍了GCC编辑器的编译流程,包括预处理、编译、汇编和链接四个阶段,并提供了相应的gcc指令示例。同时,探讨了GDB调试工具的使用,包括其查看程序内部结构、设置断点、单步调试等功能,以及各种GDB命令的运用。
一、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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值