简介
软件的版本号通常包含主版本号、子版本号、修正版本号和编译版本号,本文介绍基于STM32CubeIDE实现编译版本号自动升级的方法,即每次编译程序都自动将编译版本号加1。
实现原理
在C语言代码中,版本号可以通过宏定义实现,可以直接定义完整的版本号,也可以将版本号的几个部分分开定义,通过更改宏定义的方式即可更改程序版本号。实现自动升级编译版本号的原理,就是将版本号的几个部分分开定义并单独放置到一个头文件中,每次编译程序之前,先调用一个文本处理工具,该文本处理工具读取版本号所在的头文件,识别编译版本号并进行修改,然后将修改后的内容回写到头文件中,最后对源代码进行编译链接。
具体实现方法
文本处理工具
要实现自动升级编译版本号的功能,首先需要一个文本处理工具,该工具需要高度定制化的功能,即读取头文件、识别并修改编译版本号。作为程序猿,大家不妨自己动手code一个文本处理工具,当然也可以直接点击链接下载现成的专用文本处理工具。
编译版本号的宏定义
如果大家使用自己制作的文本处理工具,宏定义能满足各自的文本处理工具的识别、修改要求即可。
如果大家下载了现成的文本处理工具,则必须按照#define BUILD_NUMBER 0x02212320
的格式进行宏定义,注意作者的编译版本号“02212320“是以编译时的时间(月、日、