工作原理:很简单地说,运行Version.exe生成一个"version.h"头文件,文件的内容如下:

#ifndef VERSION_H_INCLUDED

#define VERSION_H_INCLUDED

#define VERNUM "1.0.0"

#define BUILDNUM "0"

#define BUILDTIME "2011-12-13 09:50:58"

#endif

将version.h文件包含到你的工程代码中,在需要的地方直接调用VERNUM,BUILDNUM,BUILDTIME即可,将Version.exe加入到IDE工程选项中编译前运行的程序栏,这样每次执行编译时将自动调用Version.exe,自动将BUILDNUM的值递增,同时将当前时间替换掉BUILDTIME的内容。

使用方法:

一、在MDK环境下:

1.解压缩后将Version.exe复制到MDK工程的源文件目录下,比如:../Source/Version下,记下此路径。

2.打开MDK项目,在User标签下的“Run User Program Before Build/Rebuild"栏选择Version.exe所在的路径"..\Source\Version\Version.exe",Run #1前的框打上√。

3.在C/C++标签下的Include Paths中加入Version.exe所在的目录"../Source/Version"

4.在C源码中#include "version.h",在需要显示版本号的地方调用BUILDNUM等需要的值,比如printf("Version %s Build %s @ %s",VERNUM,BUILDNUM,BUILDTIME);即可。

项目设置

二、在STVD环境下:

1.解压缩后将Version.exe复制到STVD工程的源文件目录下,比如:../Source/Version下,记下此路径。

2.双击运行一下Version.exe,生成version.h,将version.h加入到工程中。

3.在Project Settings中Pre-Link标签下的Commands文本框中将Version.exe的路径加上去,如图:

STVD设置

4.在C源码中#include "version.h",在需要显示版本号的地方调用BUILDNUM等需要的值,比如printf("Version %s Build %s @ %s",VERNUM,BUILDNUM,BUILDTIME);即可。

另:Version.exe有一个参数-v可指定VERNUM的值,如果不指定则默认为1.0.0,并且VERNUM的值不会自动改变,变的只是BUILDNUM和BUILDTIME。-v参数的使用:

../Version.exe -v xxxxxxxx

其中xxxxxxxx为任意字符串,没有限定长度和格式,可以是2.0.1,也可以是abcdefg等等。

软件回复可见

——回复可见内容——

c语言自动生成版本号,单片机C程序自动产生并增加版本号相关推荐

  1. 结对项目:自动生成小学四则运算题目程序

    ================= 这个作业属于哪个课程 软件工程 作业要求 作业要求 Github Github链接 小队成员 这个作业的目标 熟悉结对编程,实现自动生成小学四则运算题目程序,对给定 ...

  2. 单片机 解释型 c语言脚本,解释型单片机应用程序的研究.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp学术论文&nbsp>&nbsp自然科学论文 解释型单片机应用程序的研究.pdf5页 本文档一 ...

  3. 代码都智能自动生成了,还要程序员干嘛?

    前端干着干着,就把自己干没了...... 作者 | 郭芮 出品 | CSDN资讯 要说开源精神,阿里估计在国内能够排在最前列. 近几年,阿里接二连三"搞事情".根据阿里近期发布的& ...

  4. java 生成dump文件_程序自动生成Dump文件

    前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件,drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了m ...

  5. 蓄水池问题c语言编程,基于51单片机的蓄水池自动控制系统(35页)-原创力文档...

    广西民族大学 第二次综合课程设计报告 论文题目 : 基于 51 单片机的蓄水池自动控制系统 学 院: 物理与电子工程学院 专 业 : 自动化 年 级 : 2007 级 学 号 : 1072630101 ...

  6. 自动生成文章的html,文章自动更新工具|自动生成文件|自动伪原创|文章自动插入关键词工具...

    概念网络发布一款自动更新文章的工具, 该套工具可用概念的文章站程序, 概念的发布站程序, 概念的企业站程序, 只要在服务器一直开着这个工具, 工具会更具配置文件的配置, 每天定时的更新网站的文章, 文 ...

  7. linux脚本自动修改网卡,Linux脚本程序自动修改网卡配置文件中的MAC地址

    在玩Linux虚拟机的时候,一个安装好linux系统的virtual HDD会用于创建多个虚拟机,这样就不需要在创建每个虚拟机都安装一遍系统了.virtual HDD加载到虚拟机后,新的虚拟机的MAC ...

  8. python 自动生成数字_python – 使用yaml自动生成配置和具有数字...

    我的应用程序使用Django non-rel.我无法访问模型. 我有appcfg.py create_bulkloader_config自动生成的bulkloader.yaml文件. 问题是实体数字I ...

  9. IDEA自动生成类注解,IDEA作者信息自动生成,IDEA类信息自动生成

    在新建类文件的时候自动生成注解,诸如我们常见的那些 作者,创建时间,TODO 等等 将以下格式的代码放在Settings -> File and Code Templates -> Inc ...

最新文章

  1. 图像拼接--Seam Carving for Content-Aware Image Resizing
  2. 使用指针交换i,j,k的值
  3. Android数据存储之SD卡
  4. Java Learning:并发中的同步锁(synchronized)
  5. hdu 1872(稳定排序)
  6. ms project 入门_Microsoft Project 2010入门
  7. 春天猫rtsy_春天:注入列表,地图,可选对象和getBeansOfType()陷阱
  8. linux搭建乐网服务器,教你linux搭建web服务器
  9. 04.卷积神经网络 W2.深度卷积网络:实例探究
  10. 2.2数据通信的基础知识
  11. POJ 2396 有上下界的可行流
  12. 一文看懂语音识别 - ASR(基本原理 + 4个实现流程)
  13. Linux中设置Git显示颜色
  14. 变量的数据类型和类型转换(二)
  15. 多智能体(MARL)强化学习与博弈论
  16. mac下使用github 上传代码
  17. 聊天记录怎么录视频 微信聊天记录屏幕录制
  18. Android Notification取消声音 取消弹出
  19. mysql reorg 命令_DB2 runstats、reorgchk、reorg 命令
  20. 不同浏览器的userAgent

热门文章

  1. 单分子测序揭示鹦鹉模仿能力
  2. An Error Correction and DeNovo Assembly Approach for Nanopore Reads Using Short Reads
  3. android 悬停按钮,Android悬浮按钮的使用方法
  4. 初中教师资格证计算机试讲教案模板,初中数学教师资格证面试教案模板: 《投影》...
  5. k线顶分型 python_K线运用:顶分型的技术特点及应用方法
  6. linux用户登陆后无法加在.bashrc
  7. match_parent和fill_parent的区别
  8. 报错解决:ERROR: While executing gem ... (Gem::CommandLineError)
  9. LeetCode 42. Trapping Rain Water--算法题--c++解法
  10. Windows下安装Z3的Python3版