C语言打印日期、程序行号、方便调试程序
2026/8/8 10:04:06 网站建设 项目流程

一、为什么需要在代码里打印这些信息

写 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("当前固

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询