43、C语言调试技巧与GDB调试实战

C语言调试技巧与GDB调试实战

1. C预处理器宏与调试信息

在C语言中,预处理器定义的一些宏可以帮助我们获取调试信息。这些宏在编译时会展开,提供当前编译的相关信息。以下是一些常用的预处理器宏:
| 宏 | 描述 |
| ---- | ---- |
| __LINE__ | 表示当前行号的十进制常量 |
| __FILE__ | 表示当前文件名的字符串 |
| __DATE__ | 格式为 “Mmm dd yyyy” 的当前日期字符串 |
| __TIME__ | 格式为 “hh:mm:ss” 的当前时间字符串 |

需要注意的是,这些符号前后都有两个下划线,这是标准预处理器符号的常见做法,我们在选择符号时要避免冲突。

下面是一个示例程序 cinfo.c ,如果启用调试,它将打印编译日期和时间的信息:

#ifndef DEBUG
#define DEBUG 0
#endif

#include <stdio.h>

int main()
{
#ifdef DEBUG
    printf("Compiled: " __DATE__ " at " __TIME__ "\n");
    printf("This is line %d of file %s\n", __LINE__, __FILE__);
#endif
    printf("hello world\n");
    exit(0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值