是否可以在编译时检测C中的范围错误

时间:2016-10-13 15:52:05

标签: c gcc compiler-warnings

我知道当gcc正在编译文件时,它通常会保留一个变量可以容纳的可能值列表(然后用于各种优化)。我想知道如果值位于或可能位于范围之外,是否可以创建编译时警告。例如,如果你有函数foo(int x),其中x必须介于0和5之间,然后你有int y=6; foo(y),如果它可能在编译时失败而不是运行时。

1 个答案:

答案 0 :(得分:1)

是。以下内容与GCC编译产生差异6,而不是5.

>>> h = ["a", "b", "a", "a", "c"]
>>> h.count("a")
3
>>>