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();
}
说明: 这个日期是当前文件被编译的生成日期,如果您没有修改这个文件,那日期是不会变的,我想您修改了代码也一定
不会忘记修改下版本号,所以这个日期字符串肯定是当前的日期;还有一点,这个日期的格式我目前找不到自定义的办法
如果有知道的欢迎留言告诉我~
C语言软件版本号组成和定义相关推荐
- C语言软件版本号宏定义的高级技巧
在编写程序的时候,经常会用到VERSION,用来表示程序的版本号 有的时候我们还希望里面加个日期,例如: "System V2.0.1.2017.9.13" 又有的时候我们只想读出 ...
- 【必知 - 软件版本号如何定义及使用】
大家好,好久没见.前段时间一直在找工作,很少更新. 这不,新的工作,新的奔头,一直努力熟悉. 我们的项目简单说是一款 数藏,虽简单说,但实际可不简单.感兴趣的话,就来看看吧,进入 -> 纳灵境 ...
- 在Linux下开发多语言软件(gettext解决方案)
最近的项目出现了一个bug.项目是基于一个已有的成熟开源软件之上做修改的,新写了加解密库,用于为该成熟开源软件增添加解密功能.功能增加完成后效果都很好,可是就是中文出不来了,也就是说没办法自适应多语言 ...
- C语言之一些值得被定义为常用C语言头文件库的漂亮宏定义
原文连接:https://mp.weixin.qq.com/s/OICAfQgMKWfBLuZbp2gCBw 写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等. ...
- 语言 {软件开发概述}
语言 {软件开发概述}; {编辑期,编译期,运行期} 定义 程序的3个阶段: . 编辑期: 在IDE里 写源代码; . 编译期: 源代码通过编译器变成了exe可执行文件 (二进制的); . 运行期: ...
- 项目管理之软件版本号
项目管理之软件版本号 摘要: 软件的版本号不同,其版本就有区别,版本号大全,大家看一下对软件的各个版本也有所了解. 版本大全: alphal 内部测试版 beta 外部测试版 demo 演示版 Enh ...
- VC自动生成软件版本号
VC自动生成软件版本号 flyfish 目的: 软件的版本有主版本号.子版本号.修正版本号.编译版本号 其中编译版本号与SVN服务器的版本号(Revision)自动同步. 环境 需要在本机安装Tort ...
- 各种软件版本号扫盲——Beta RC Preview release等
1 .软件版本阶段说明 *Alpha 版:此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的 Bug 较多,需要继续修改. *Beta 版:该版 ...
- 软件版本号规范与命名原则
1. 软件版本阶段说明 * Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改. * Beta版: 该版本相对 ...
最新文章
- ProxyError: Conda cannot proceed due to an error in your proxy configuration
- Java多线程学习处理高并发问题
- 合并的路径Path.Combine
- 解决大众点评换设备无法用卷(你本次购买不符合活动规则)的问题
- 全球第三位艾滋病痊愈者出现,靠脐带血干细胞新疗法抵抗病毒,此前已患病9年...
- 158行代码!程序员复现DeepMind图像生成神器
- iscroll5实现一个下拉刷新上拉加载的效果
- html button 自动提交,html+js表单form验证自动提交的2种提交方式button和
- hiho1482出勤记录II(string类字符串中查找字符串,库函数的应用)
- 五、线程优先级和守护线程
- Android重写View并且自定义属性(二)
- Centos 7 密码重置
- 想成为测试工程师,这7件事你必须先知道
- tn文本分析语言(三):高级语法
- 计算机专业助我成长作文600,我在成长作文
- css的calc函数
- XF660R型号良田高拍仪接口开发,通过图片文件的二进制数据进行图片上传
- 计算机添加usb网络打印机,方便实用!教您如何简单地将USB打印机更改为无线打印机!...
- 【LeetCode】322. 零钱兑换 结题报告 (C++)
- 微信营销如何提升转化率与购买率