何为 DATE__和__TIME?
DATE__和__TIME 是 C 语言中的两个内置宏,这两个宏用于记录编译时的时间,也就是预编译的时候,编译器以字符串的形式赋予这两个宏当前编译程序系统的时间。
用途
在嵌入式开发的过程中,需要不断的迭代版本的。由于大系统迭代版本比较多,且涉及到多个模块开发人员的合作,在解bug、对齐各个模块软件状态等情况下,一个独特的版本信息是至关重要的。
一般而言,开发人员会采用诸如 SW_VERSION_V01:00:05 的方式去定义版本号,但是这种方式存在一些弊端:
- 不能告知这个版本的具体生成时间
- 在快速迭代版本的时候如果忘记改版本号信息,那么就会出现不同的软件出现相同的版本号,这样就容易生出很多很麻烦的事情,比如同样的软件版本号的软件,一个有bug,一个没bug,这样子就很查找问题。
因此,__DATE__和__TIME__便应运而生,在原本的版本号信息(SW_VERSION_V01:00:05 )上加上编译时间便可让版本号(SW_VERSION_V01:00:05 (Comile time: Dec 4 2022, 16:12:50))变得独一无二。