1. 程式人生 > >禚來強(億刀) 的iphone開發專欄--我們 一群 熱愛 移動開發,如果你也是,就加入我們。

禚來強(億刀) 的iphone開發專欄--我們 一群 熱愛 移動開發,如果你也是,就加入我們。

程式中一般會加入程式的版本資訊,用“-v”來檢視。

有時候還會加入編譯時間,這個比較好實現,使用__TIME__和__DATE__巨集就可以了,程式的大版本號一般都是手動寫的。

出於某種需要,我希望在程式中獲取到編譯時svn的版本號,查了寫資料,有說用svn prop來做的,也有說用svn hook來做的,我覺得這個太複雜,而且是在每次提交都做修改,沒必要。

於是乎,我想到也用巨集來做。

gcc裡可以用“-D”來定義巨集,用它來定義一個巨集,值為svn版本號就好了。

-DSVN=xxxx

xxxx怎麼獲取呢?svn info裡就有了,弄出來就行了

svn info | grep Revision | cut -d " " -f 2

然後

-DSVN=·svn info | grep Revision | cut -d " " -f 2·

把它加到Makefile.am裡去,搞定。