使用C/C++预定义宏进行调试跟踪代码

本文介绍如何利用C/C++预定义宏如__FILE__、__LINE__、__DATE__、__TIME__和__FUNCTION__进行代码调试,提供具体的使用示例。

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

使用C/C++预定义宏进行调试跟踪代码

概述

​ 编写C/C++代码时,控制台调试/错误输出是比较常用而且主要的代码调试、排错方法。幸好各大编译器都支持一些预定义的宏可以方便我们在编写代码时,获取代码文件路径、名字,代码行号,编译时间等。

​ 这里要说的主要是如下几个:__FILE__, __LINE__, __DATE__, __TIME__, __FUNCTION__.

用途

  • __FILE__: 获取当前代码文件的全名,包括路径;
  • __LINE__: 获取当前代码行数,即使用该宏的行;
  • __DATE__: 获取当前代码文件被编译的日期,年月日;
  • __TIME__: 获取当前代码文件被编译的时间,时分秒;
  • __FUNCTION__: 获取使用该宏的函数名。

使用方式

#define log_err(M, ...) fprintf(stderr, "[ERROR] (%s:%d error: %s) " \
    M "\n", __FILE__, __LINE__, error_msg(), ##__VA_ARGS__)

#define compile_time() fprintf(stdout, "[INFO] Compiled at %s %s\n", \
    __DATE__, __TIME__)

#define get_function() fprintf(stdout, "[INFO] Used in %s.\n", __FUNCTION__) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值