强类型静态检查器(unix)

时间:2010-08-09 13:21:46

标签: c typedef typechecking

是否有免费工具(某种静态检查程序)为普通 C(不是C ++)执行基于typedef的类型检查并在Linux上运行(或任何一种免费的Unix)?我知道一个商业的:PC-lint / FlexeLint。它完全符合我的要求,但它不是免费的,仅限Windows。以下是手册中的一个例子:

typedef int Count;
typedef int Bool;
Count n;
Bool stop;
.
.
.
n = stop ; // tool generates a warning here

我已经阅读了这个Enforce strong type checking in C (type strictness for typedefs)Is there a good way to force type incompatibility in C?,我知道结构封装破解,但那是我想要的东西。我有一堆代码,我想检查它是否存在这种特殊类型的错误。

2 个答案:

答案 0 :(得分:1)

splint怎么样? (我没有检查它是否可以做你想要的。我怀疑它会不会。)

或者,使用C99的stdbool.hbool类型怎么样?

答案 1 :(得分:0)

“lint”最初是一个unix工具 - 它不再包含在标准发行版中了吗?

如果没有,gcc -wall应该提供大部分相同的警告。