2025-05-06 14:49:05 +08:00

60 lines
2.5 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 说明: 定义版本号
*
* 作者: 杨海洋
* 日期: 2023-03-22
*
* *******************************************************************
*
* 主版本号.子版本号.修订版本号.日期
*
* 比如1.2.3.2304241030
*
* 说明:
* 第一位1主版本号。当功能模块有较大的变动比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。
* 第二位2子版本号。当功能有一定的增加或变化比如增加了新功能。此版本号由项目决定是否修改。
* 第三位3修订版本号。一般是Bug修复或是一些小的变动要经常发布修订版时间间隔不限修复一个bug即可发布一个修订版。此版本号由开发人员决定是否修改。
* 第四位4日期版本号2304241030年月日时分用于记录修改项目的当前日期每天对项目的修改都需要更改日期版本号。此版本号由开发人员决定是否修改。
*
*/
#ifndef HVERSION_H
#define HVERSION_H
#include "HSystem.h"
//定义版本号 格式:主版本号.子版本号.修订版本号.版本日期
#define JUDGE_VERSION_MAJOR 1
#define JUDGE_VERSION_MINOR 0
#define JUDGE_VERSION_PATCH 3
#define JUDGE_VERSION_STAMP "2504281937b"
#if JUDGE_USE_OLD
# undef JUDGE_VERSION_STAMP
# define JUDGE_VERSION_STAMP "2411121010b.old"
#endif
#define JUDGE_AUX_VERSION(a,b,c) (((a)<<24) | ((b)<<16) | (c))
#define JUDGE_AUX_MAJOR(x) (((x) & 0xFF000000) >> 24) //[0-127]
#define JUDGE_AUX_MINOR(x) (((x) & 0x00FF0000) >> 16) //[0-255]
#define JUDGE_AUX_PATCH(x) (((x) & 0x0000FFFF)) //[0-65535]
//整数形式版本号表达方式
#define JUDGE_VERSION_INT JUDGE_AUX_VERSION(JUDGE_VERSION_MAJOR,JUDGE_VERSION_MINOR,JUDGE_VERSION_PATCH)
//字符串形式版本号表达方式
#define JUDGE_VERSION_STR JUDGE_STR(JUDGE_VERSION_MAJOR.JUDGE_VERSION_MINOR.JUDGE_VERSION_PATCH)
//版本号大小比较
#define JUDGE_VERSION_AT_LEAST(major,minor,patch) (JUDGE_VERSION_INT >= JUDGE_AUX_VERSION(major,minor,patch))
#define JUDGE_VERSION_AT_MOST(major,minor,patch) (JUDGE_VERSION_INT <= JUDGE_AUX_VERSION(major,minor,patch))
//版本详细信息[版本号+版本日期]
#ifdef JUDGE_VERSION_STAMP
# define JUDGE_VERSION_INFO JUDGE_VERSION_STR "." JUDGE_VERSION_STAMP
#else
extern const char JUDGE_VERSION_STAMP[]; //版本编译时间 2304241030
extern const char JUDGE_VERSION_INFO[]; //版本详细信息[版本号+版本编译日期] 1.2.3.2304241030
#endif
#endif // HVERSION_H