软件版本号制定方法
需求
1、软件版本号由主版本号,子版本号,修复版本号组成
2、版本号信息由版本号+当日编译的时间组成
3、编写一个获取版本号的函数。
实现
实现的例子如下:
#include <stdio.h>
// 定义版本号的组成部分
#define VERSION_MAJOR 1
#define VERSION_MINOR 2
#define VERSION_PATCH 3
// 将宏参数转换为字符串
#define STRINGIFY(x) #x
// 间接宏展开
#define EXPAND_AND_STRINGIFY(x) STRINGIFY(x)
// 拼接版本号字符串
#define VERSION_STRING(major, minor, patch) \
EXPAND_AND_STRINGIFY(major) "." EXPAND_AND_STRINGIFY(minor) "." EXPAND_AND_STRINGIFY(patch)
// 定义版本号宏,包含编译时间
#define FULL_VERSION_STRING \
"Version: " VERSION_STRING(VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) \
" (Compile Time: " __DATE__ " " __TIME__ ")"
// 获取版本号的函数
const char* get_version() {
return FULL_VERSION_STRING;
}
int main() {
// 调用函数获取并输出版本号
printf("%s\n", get_version());
return 0;
}