d****n 发帖数: 1241 | 2 undefined behavior可能是C里边最"邪恶"的一个东西了。。。
听到过一个很有意思的undefined behavior是关于整数溢出的,
signed integer overflow是一个常见的undefined behavior.
但是unsigned integer在某些情况下也会导致undefined behavior,
比如两个unsigned short相加,如果ABI规定sizeof(unsigned short)是16,
sizeof(int)是32, 那么C标准里的integer promotion规则会先把
unsigned short变成signed int, 然后就存在integer overflow的可能性了。呵呵
【在 k**********g 的大作中提到】 : http://www.slideshare.net/olvemaudal/deep-c
|