相关疑难解决方法(0)

C:标准和编译器中的整数溢出

由Carl Norum编辑,包括适当的标准参考.

C标准规定

如果在计算表达式期间发生异常情况(即,如果结果未在数学上定义或未在其类型的可表示值范围内),则行为未定义.

是否有编译器开关可以保证整数溢出时的某些行为?我想避免鼻腔恶魔.特别是,我想强制编译器包装溢出.

为了唯一性,让标准为C99,编译器为gcc.但我会对其他编译器(icc,cl)和其他标准(C1x,C89)的答案感兴趣.事实上,只是为了惹恼C/C++人群,我甚至欣赏C++ 0x,C++ 03和C++ 98的答案.

注:国际标准ISO/IEC 10967-1可能与此相关,但据我所知,仅在资料性附录中提到过.

c standards gcc undefined

28
推荐指数
4
解决办法
1万
查看次数

标签 统计

c ×1

gcc ×1

standards ×1

undefined ×1