C语言软件版本号宏定义的高级技巧 | 您所在的位置:网站首页 › 软件的版本号怎么写出来 › C语言软件版本号宏定义的高级技巧 |
在编写程序的时候,经常会用到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(); }
说明: 这个日期是当前文件被编译的生成日期,如果您没有修改这个文件,那日期是不会变的,我想您修改了代码也一定 不会忘记修改下版本号,所以这个日期字符串肯定是当前的日期;还有一点,这个日期的格式我目前找不到自定义的办法 如果有知道的欢迎留言告诉我~
|
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |