最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VC使用編譯時(shí)間作為版本號標(biāo)識的方法

 更新時(shí)間:2017年03月13日 22:11:06   投稿:mdxy-dxy  
這篇文章主要介紹了VC使用編譯時(shí)間作為版本號標(biāo)識的方法,需要的朋友可以參考下

常用方法分兩步:

1. 得到編譯時(shí)間;

2. 設(shè)置基準(zhǔn)時(shí)間,以編譯時(shí)間距基準(zhǔn)時(shí)間的總天數(shù)的2倍作為版本號,適當(dāng)情況還可加上初值;

其中第一步實(shí)現(xiàn)有兩種方法:

1. 直接使用系統(tǒng)宏:CString OcxTime = __DATE__;
2. 在編譯選項(xiàng)的Pre-link Step中調(diào)用批處理文件.bat:

@echo off
echo #pragma once>"Ver.h"
echo #define APP_VER_NUM  "%data%">>"Ver.h"

其它網(wǎng)友的補(bǔ)充

使用宏__DATE__和__TIME__

CString strVersion,strBuildTime; 
strBuildTime = __DATE__; 
strBuildTime.Append(" "); 
strBuildTime.Append(__TIME__); 
COleVariant vtime(strBuildTime); 
vtime.ChangeType(VT_DATE); 
COleDateTime dateTime=vtime; 
SYSTEMTIME systime; 
VariantTimeToSystemTime(dateTime, &systime); 
CTime buildTime(systime); 
strVersion = buildTime.Format(" Builded %Y-%m-%d %H:%M:%S "); 

it一夢同學(xué)的補(bǔ)充

一般來說,發(fā)布的正式軟件都會(huì)包含程序的svn版本號以及軟件的編譯版本和編譯時(shí)間等信息,但是這些東西并不是默認(rèn)就存在的,需要我們進(jìn)行一些步驟的處理。具體做法有幾種,萬變不離其宗的是,利用SVN自帶的指令獲取到版本號以及當(dāng)前時(shí)間,填充模板當(dāng)中的占位符,最后用替換后的模板覆蓋資源文件即可。這里只講最簡單的一種:
a. 首先需要給VC程序添加資源文件,假設(shè)程序名為Test,則資源文件為Test.rc
b. 向資源文件中添加新的資源項(xiàng)——version,資源文件用記事本打開,增加了如下代碼:

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
  BLOCK "StringFileInfo"
  BEGIN
    BLOCK "080404b0"
    BEGIN
      VALUE "FileDescription", "Test"
      VALUE "FileVersion", "1, 1, 1, 0"
      VALUE "InternalName", "Test"
      VALUE "LegalCopyright", "Copyright (C) 2015"
      VALUE "OriginalFilename", "Test.exe"
      VALUE "ProductName", "Microsoft"
      VALUE "ProductVersion", "V1.0"
    END
  END
  BLOCK "VarFileInfo"
  BEGIN
    VALUE "Translation", 0x804, 1200
  END
END

c. 接下來創(chuàng)建一個(gè)模板,利用SVN提供的占位符WCREV獲取版本號,WCNOW獲取編譯時(shí)間。模板可以直接復(fù)制Test.rc文件,更名為Test.rc2。修改上述代碼中的ProductVersion的值即可:

VALUE "ProductVersion", "V2.1.1.$WCREV$.(Build$WCNOW$)"

d. 那么何時(shí)進(jìn)行占位符的替換,隨后替換程序的資源文件Test.rc,準(zhǔn)確的將版本號與編譯時(shí)間編譯進(jìn)程序呢?VS提供了一個(gè)Build Events配置,我們選擇Pre-Build Event,增加一行代碼如下:

SubWCRev $(ProjectDir) $(ProjectDir)\Test.rc2 $(ProjectDir)\Test.rc

代碼的意思是在程序編譯之前,用SVN的腳本工具SubWCRev獲取到工程目錄的SVN號以及當(dāng)前的編譯時(shí)間,替換rc2文件中的占位符,覆蓋到rc文件中。

相關(guān)文章

  • 淺析C++標(biāo)準(zhǔn)庫元組(tuple)源碼

    淺析C++標(biāo)準(zhǔn)庫元組(tuple)源碼

    這篇文章主要介紹了C++標(biāo)準(zhǔn)庫元組(tuple)源碼,介紹了什么是元組以及用法,并進(jìn)行了源碼分析,需要的朋友可以參考下
    2015-08-08
  • 深度解析C語言中數(shù)據(jù)的存儲

    深度解析C語言中數(shù)據(jù)的存儲

    本文詳細(xì)介紹了C語言中數(shù)據(jù)的存儲,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • QT應(yīng)用啟動(dòng)失敗排查方法小結(jié)

    QT應(yīng)用啟動(dòng)失敗排查方法小結(jié)

    啟動(dòng)QT應(yīng)用經(jīng)常會(huì)碰到應(yīng)用啟動(dòng)失敗,qt platform plugin無法啟動(dòng),本文就來介紹一下QT應(yīng)用啟動(dòng)失敗排查方法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解以下
    2023-09-09
  • C語言實(shí)現(xiàn)樹的動(dòng)態(tài)查找實(shí)例代碼

    C語言實(shí)現(xiàn)樹的動(dòng)態(tài)查找實(shí)例代碼

    這篇文章主要介紹了C語言實(shí)現(xiàn)樹的動(dòng)態(tài)查找實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++中auto_ptr智能指針的用法詳解

    C++中auto_ptr智能指針的用法詳解

    這篇文章主要介紹了C++中auto_ptr智能指針的用法詳解的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • C++讀入XML文件示例

    C++讀入XML文件示例

    本篇文章主要介紹了C++讀入XML文件,讀取和設(shè)置xml配置文件是最常用的操作,TinyXML是一個(gè)開源的解析XML的C++解析庫,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • 詳解C語言fscanf函數(shù)讀取文件教程及源碼

    詳解C語言fscanf函數(shù)讀取文件教程及源碼

    這篇文章主要為大家介紹了詳解C語言算法fscanf讀取文件示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-02-02
  • C++模板元編程實(shí)現(xiàn)選擇排序

    C++模板元編程實(shí)現(xiàn)選擇排序

    這篇文章主要介紹了C++模板元編程實(shí)現(xiàn)選擇排序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C語言 數(shù)據(jù)結(jié)構(gòu)之連續(xù)存儲數(shù)組的算法

    C語言 數(shù)據(jù)結(jié)構(gòu)之連續(xù)存儲數(shù)組的算法

    這篇文章主要介紹了C語言 數(shù)據(jù)結(jié)構(gòu)之連續(xù)存儲數(shù)組的算法的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C語言字符串的模式匹配之BF與KMP

    C語言字符串的模式匹配之BF與KMP

    這篇文章記錄一下串里面的模式匹配,模式匹配,顧名思義就是給定一個(gè)被匹配的字符串,然后用一個(gè)字符串模式(模型)去匹配上面說的字符串,看后者是否在前者里面出現(xiàn)。常用的有2種算法可以實(shí)現(xiàn),下面我們來具體探討下
    2021-09-09

最新評論

南漳县| 新余市| 河曲县| 高尔夫| 华池县| 清丰县| 琼海市| 宝坻区| 滨州市| 东方市| 衡南县| 绵阳市| 景东| 曲阜市| 镇赉县| 建昌县| 灌云县| 章丘市| 田林县| 武义县| 望都县| 三原县| 沅陵县| 通化县| 陕西省| 锦屏县| 开化县| 桃园县| 浏阳市| 丰镇市| 大荔县| 开鲁县| 阳西县| 行唐县| 余姚市| 南充市| 通榆县| 驻马店市| 新泰市| 铜川市| 花莲县|