作者归档:anyshpm

关于anyshpm

关注WEB开发领域和软件配置管理领域

圣诞节

天亮之后去加班。老祝开会说希望这是我们年前最后一次周末加班,cao!一看日历才发现,TMD这周末是今年的最后一个周末。

文档、代码、测试、JIRA、CRM……

曾对这胡二同学说:“你丫的,上班就是打游戏。”话说现在他也不轻松啊,“天命,哈哈哈哈……。”

……

……

在程序中获取编译时SVN的版本号

程序中一般会加入程序的版本信息,用“-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里去,搞定。