Day 26 gcc编译器与gdb调试器

本文详细介绍了GCC编译器支持的各种文件后缀名及其编译过程,包括预处理、编译、汇编和链接阶段。同时,深入探讨了GDB调试器的使用方法,如设置断点、单步调试、查看变量值等。此外,还讲解了条件编译的两种方式,帮助读者更好地理解和应用编译原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近很迷茫,不停地做实验,机械的重复。感觉时光与岁月就在电火花与促动器声中蹉跎。但是无论怎样还是要坚持自己的选择,执行自己的计划!
一、gcc所支持的后缀名
-.c c的原始程序
-.C/.cc/.cxx c++的原始程序
- .s 汇编语言的原始程序
-.o 目标文件
1、gcc

gcc -E #预处理得到*.i文件
gcc -S #编译得到汇编文件*.s
gcc -c #汇编处理生成.o文件

2、gdb 调试器

gcc -g test.c -o test#生成.o文件
gdb test #对test进行调试
gdb  l #查看文件内容
gdb  r #运行代码
gdb  p <变量名> #查看变量值
gdb  n 或 gdb s #单步运行,n不进入调用函数内部,s进入函数 
gdb c #回到主程序 继续运行,退出单步运行
gdb b <行数>#设置断点
info b#查看断点情况

3、条件编译
条件编译一共有两种方法:
根据宏是否定义:

#ifdef<macro>//定义了宏macro执行程序段1,否则执行else语句
程序段1
#else
程序段2
#endif

根据宏的值:

#if<macro>//如果宏的值为1,则执行以程序段1.否则执行else
程序段1
#else
程序段2
#endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值