使用一些宏跟踪调试

[复制链接]
621|2
 楼主| 星辰大海不退缩 发表于 2023-12-17 20:22 | 显示全部楼层 |阅读模式

A N S I标准说明了五个预定义的宏名,其分别是:

  1. 1_ L I N E _
  2. 2_ F I L E _
  3. 3_ D A T E _
  4. 4_ T I M E _
  5. 5_ S T D C _


如果编译不是标准的,则可能仅支持以上宏名中的几个,或根本不支持。记住编译程序也许还提供其它预定义的宏名。
_ L I N E _及_ F I L E _宏指令在有关# l i n e的部分中已讨论,这里讨论其余的宏名。
_ D AT E _宏指令含有形式为月/日/年的串,表示源文件被翻译到代码时的日期。
源代码翻译到目标代码的时间作为串包含在_ T I M E _中。串形式为时:分:秒。
如果实现是标准的,则宏_ S T D C _含有十进制常量1。如果它含有任何其它数,则实现是非标准的。
可以定义宏,例如:当定义了_DEBUG,输出数据信息和所在文件所在行。
  1. 1#ifdef _DEBUG
  2. 2#define DEBUGMSG(msg,date) printf(msg);printf(“%d%d%d”,date,_LINE_,_FILE_)
  3. 3#else
  4. 4#define DEBUGMSG(msg,date)
  5. 5#endif
Bowclad 发表于 2023-12-19 11:14 来自手机 | 显示全部楼层
好像我的不支持line跟file啊
电子乐园游园ing 发表于 2023-12-19 11:17 | 显示全部楼层
Bowclad 发表于 2023-12-19 11:14
好像我的不支持line跟file啊

是不是需要打开C99才可以?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

302

主题

2831

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部