0

我正在尝试创建一个静态规则来检查令牌传递以在 SIL4 应用程序中进行防御性编程。

规则如下:“每个函数都应有一个 const uint_32 作为最后一个参数”

IE:

uint_32 foo(uint_32 a, uint_32 b, const uint_32 c)   ok 
uint_32 foo(uint_32 a, uint_32 b, const uint_16 c)  NOK
uint_32 foo(uint_32 a, uint_32 b, uint_32 c)  NOK
uint_32 foo(uint_32 a, const uint_32 b, uint_32 c)  NOK 

有人可以帮助我吗?我在黑暗中摸索

4

1 回答 1

1

您可以首先在收集器中收集所有参数的编号(使用 ParamNumber 属性)。然后选择 ParamNumber 等于收集的最高数字的参数(您可以使用 MAX() 来获得)。然后您可以检查此参数是否具有适当的类型。

艾瑞克

于 2011-08-22T15:32:10.300 回答