这篇详细介绍keil版本管理
一、__DATE__和__TIME__简介
经常都需要手动添加版本号或者生成时间会很繁琐。这个时候,C语言中的两个宏__DATE__
和__TIME__
可以帮到我们。
__DATE__用于获取系统日期,而__TIME__用于获取系统时间,我们可以根据该两个宏获取到的信息将其保存于程序变量中,在程序运行过程中直接调用。
__DATE__
的格式为 “Aug 27 2013” | “Sep 3 2019”__TIME__
的格式为 “14:01:32”
二、版本管理源码
根据上面获取的格式,也可以自己写出Version版本管理;这里的源码(内有注释)如下
2.1 数值输出
2.1.1 Version.c
1 |
|
2.1.2 Version.h
1 |
|
2.2 字符串输出
2.2.1 Version.c
1 |
|
2.2.2 Version.h
1 |
|
三、注意要点
编译方面需要注意有个别差异:
局部编译:不会再编译未改动位置;局部编译后,虽然 .bin文件生成的时间是 对应编译时间(准确)的,但因为该工程内获取版本时间代码未改动,因此导致局部编译未更新获取内部版本时间(和 .bin文件更新时间没关系)。该工程内部显示获取的版本时间仍为 你上一次 全局编译的时间。提交版本时候需要全局编译一次