天天看點

c語言自動生成版本号,單片機C程式自動産生并增加版本号

工作原理:很簡單地說,運作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);即可。

c語言自動生成版本号,單片機C程式自動産生并增加版本号

項目設定

二、在STVD環境下:

1.解壓縮後将Version.exe複制到STVD工程的源檔案目錄下,比如:../Source/Version下,記下此路徑。

2.輕按兩下運作一下Version.exe,生成version.h,将version.h加入到工程中。

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

c語言自動生成版本号,單片機C程式自動産生并增加版本号

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等等。

軟體回複可見

——回複可見内容——