如果使用cvs或subversion,执行此操作的一种方法是在源文件中使用特殊格式的特殊id字符串。然后在cvs或svn中添加一个预提交钩子,以在提交更改时使用文件的新版本更新该特殊变量。然后,在构建二进制文件时,可以使用ident提取该信息。例如:
在您的cpp文件中添加以下内容:
static char fileid[] = "$Id: fname.cc,v 1.124 2010/07/21 06:38:45 author Exp $";
并且在程序上运行ident(可以通过安装rcs找到),应该显示有关其中包含id字符串的文件的信息。
ident programprogram: $Id: fname.cc,v 1.124 2010/07/21 06:38:45 author Exp $
注意
正如人们在评论中提到的那样,该技术是过时的。让源代码管理系统自动更改源代码是很丑陋的,并且自从cvs成为唯一选择以来,源代码管理已得到改善,这意味着您可以找到一种更好的方法来实现相同的目标。



