C语言软件版本号组成和定义

软件版本号规范
一、软件版本号由四部分组成:
1、 主版本号 - X

2 、子版本号 - Y

3、 阶段版本号 - Z

4、日期版本号加希腊字母版本号(可选)

常用的希腊字母版本号:alpha、beta、RC、release。
举例:1.0.1.190628_beta
二、规则
重大变更升级,X需递增
增加新功能,Y需递增
修复bug,Z需递增
0.Y.Z 的版本号表明软件处于初始开发阶段,意味着 API 可能不稳定;1.0.0 表明版本已有稳定的 API。
注意:版本一经发布,不得修改其内容,任何修改必须在新版本发布
 

软件版本号宏定义的高级技巧

在编写程序的时候,经常会用到VERSION,用来表示程序的版本号
有的时候我们还希望里面加个日期,例如: "System V2.0.1.2017.9.13"


又有的时候我们只想读出数字版本号,例如2, 0, 1,有的时候又想如果想将里面的2, 0, 1这3 个数字提取出来,该怎么做呢?
通常做法是这样的:

#define MAINVER 2
#define SUBVER1 0
#define SUBVER2 1
 
#define VERSTR  "System V2.0.1.2017.9.13"

如果想修改下版本号,即需要修改前面3 个数字宏,又要修改后面的字符串宏,最后还得将日期写上;


那有没有什么办法将工作量减小到最少,只要更改前面3 个宏就可以了呢?

答案当然是可以的了,请看:

#define MAINVER 2
#define SUBVER1 0
#define SUBVER2 1
 
#define STR(s)     #s 
#define VERSION(a,b,c)  "System V" STR(a) "." STR(b) "." STR(c) " "__DATE__
//#define VERSTR  "System V2.0.1.2017.9.13"

 

void main()
{
  printf("%s\n",VERSION(MAINVER,SUBVER1,SUBVER2));
  getch();
}


说明: 这个日期是当前文件被编译的生成日期,如果您没有修改这个文件,那日期是不会变的,我想您修改了代码也一定

不会忘记修改下版本号,所以这个日期字符串肯定是当前的日期;还有一点,这个日期的格式我目前找不到自定义的办法

如果有知道的欢迎留言告诉我~
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值