我有许多使用 strcmp
和strcpy
的C代码,这导致了各种问题。我想将其迁移到使用strncmp
和strncpy
,但现在无法更新所有代码。我想在使用这些函数的任何地方添加编译器警告。
以下语句强制执行替换#define strcmp(x,y) strncmp16(x,y,64)
,但问题仍然存在于代码中。
是否有一种方法可以添加#warning
,以便代码仍然可以编译,但会发出不使用已确定大小的函数的警告。
它是一个庞大的代码库,必须在四个不同的编译器(GCC、IAR、GHS和VC)中编译。这是我们自己的C库,主要用于嵌入式系统。
编辑:我不想找到所有出现的内容。有成千上万的工具可以用来查找和替换它们。我希望有一个警告,这样下次有人查看代码时,他们会评估并修复代码。
编辑: Strncmp和strncpy有很多问题,我非常清楚这一点。我正在做出知情决策。这些函数在我们自己的C库中,而不仅仅是编译器的默认函数库。
strncpy
,因为这只会将一组问题转换为另一组更微妙(且危险)的问题。 - user694733