企业微信外部群自动化:一期交付应聚焦双向会话闭环
2026/8/8 11:47:27
写 C 程序时,调试是绕不开的环节。C 语言标准提供了一组预定义宏,能够在编译期自动注入当前代码的行号、所在文件名、编译日期和时间。这些信息在排查 bug 时非常有用,能帮我们快速锁定出错位置。
特别是在做单片机开发时,把编译日期、时间通过串口打印出来,或者直接显示在 LCD 上,可以直观知道当前烧录的固件是哪一次编译产生的,便于做版本核对。
__LINE__和__FILE__主要是为了调试:打印出具体的行号和文件名,方便定位错误。__DATE__和__TIME__主要是为了标记固件版本:一眼看出程序是什么时候编译的。__LINE__是整型(int),而文件名、日期、时间都是字符串(char*)。不封装、不依赖任何库,最朴素的写法就是直接用printf把这几个宏打出来:
printf("编译日期与时间 : %s , %s\n", __DATE__,__TIME__); printf("当前所在行号 :%d\r\n", __LINE__); printf("当前源文件名称 :%s\r\n", __FILE__); printf("当前固件编译日期 :%s\r\n", __DATE__); printf("当前固