pb獲取軟件編譯日期(時間)的快捷方法
來源:程序員人生 發(fā)布時間:2013-12-20 11:32:47 閱讀次數(shù):4780次
在用PB開發(fā)軟件時,有時候需要根據(jù)日期來生成軟件的版本號。比如軟件的版本為V5,為了體現(xiàn)同一版本軟件在不同日期下編譯生成的版本差異化,我們有時候會在軟件的版本后面加上build和日期,類似于這樣:V5 build20110727 ,表示該軟件的版本是V5,編譯日期時2011-07-27 。
【V5 build】這一字符串在很長一段時間內(nèi)基本上是固定的,但是【20110727】這一日期串是經(jīng)常變動的。如何實(shí)時的添加這個日期串呢?
常規(guī)的做法有兩種。
一、每次編譯之前,手動更改該日期串為編譯當(dāng)日的日期。這種做法很簡單,但是更改的步驟容易被我們遺忘。
二、通過API函數(shù)在軟件運(yùn)行過程中,動態(tài)獲取軟件exe文件的最后修改日期(獲取方面可以參考我的博客:PB獲取和設(shè)置文件最后修改日期的API方法 ),再賦值給日期串。這種做法比較復(fù)雜,需要了解API(當(dāng)然封裝成自定義對象后,使用起來也不會太麻煩),但是它能避免手動修改的易遺忘,保證每次編譯后都能準(zhǔn)確取到最后的編譯日期。
本文所要介紹的這種方法,思路與上面的第二種有點(diǎn)類似,都是取軟件編譯日期,但是實(shí)現(xiàn)起來卻是跟第一種方法一樣簡單,也不需要使用API函數(shù)。具體的做法如下:
[cpp]
string ls_ver = "V5 build" + string(today(), "yyyymmdd") //編譯后ls_ver里面存儲的值就是【V5 build加上編譯的日期 】了
其實(shí)就是這么簡單。 由于變量的初始值是在編譯時形成的,因此,對于上面我們聲明的string類型變量ls_ver 來說, 軟件編譯時,會自動獲取編譯時的日期,并將編譯時的日期賦值給ls_ver 。
假設(shè)軟件是在2011-07-27編譯的那么上面的變量初始化賦值語句,等同于:
[cpp]
string ls_ver = "V5 build20110727”
其實(shí)也可以將這種思路理解為跟第一種方法類似,只是將“編譯前手動更改該日期串為編譯當(dāng)日的日期”,自動化為“編譯時自動更改該日期串為編譯當(dāng)日的日期”。
上面介紹的取編譯日期的方法,只是一個很小的功能,但是對于我們程序員來說,它給了我們很多的啟迪,我們可以按照這種思路,炮制出一大堆的應(yīng)用。比如:取軟件編譯時的電腦名稱、IP地址、網(wǎng)卡地址、操作系統(tǒng)信息等等。
希望我的這種做法,能夠起到拋磚引玉的作用。
摘自 yyoinge的專欄
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈