c++ - 如果使用某些过时的 C/C++ 函数,则防止使用 svn 提交代码

标签 c++ c svn

有没有办法防止开发人员在使用某些不安全或过时的函数时提交代码?例如:

  • 扫描
  • 同意
  • 得到
  • 等..

最佳答案

我工作过的一个项目在包含在每个文件中的 header 中使用一组简单的宏(一些编译器允许您在命令行上指定这样的 header ,因此您可以强制在 makefile 中使用它):

#define strcpy  strcpy_is_banned_use_strlcpy
#define strcat  strcat_is_banned_use_strlcat
#define strncpy strncpy_is_banned_use_strlcpy
#define strncat strncat_is_banned_use_strlcat
#define sprintf sprintf_is_banned_use_snprintf

使用这些宏,如果您尝试使用被禁止的函数,构建将会失败(链接器会告诉您应该使用什么)。

所以它本身不会在提交时进行检查,但只要您的团队成员确保在他们 checkin 之前构建了东西,系统就可以正常工作。如果他们不这样做,那么每个人都会开始收到构建中断电子邮件,这往往会迅速纠正行为。

简单但有效。

关于c++ - 如果使用某些过时的 C/C++ 函数,则防止使用 svn 提交代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2565556/

相关文章:

git svn 在非标准 svn 存储库布局上指定分支和标签

C++ 生成不重复的随机数。输出屏幕只是空白,光标闪烁

c++ - 对类的公共(public)方法/变量的 undefined reference

c++ - 奇怪的 C 算术行为

svn - 如何配置 hudson 忽略指定 SVN 文件夹下的更改?

java - 为什么当从 SVN checkout Ant version 1.3 时,Ant java 项目本身有很多错误?

c++ - 数组参数的默认值

c++ - <% %> 在 C++ 中做什么?

c - Objective-C代码中的奇怪数字变化

为未排序的通用数组创建通用搜索函数