编译器优化误解程序员的意思
来自CsOH学长张瑯小强
http://www.cnblogs.com/CsOH/p/6019868.html
void contains_null_check(int *P) {
int dead = *P;
if (P == NULL)
return;
*P = 4;
}
编译器想,*P
前面解引用啦,那它肯定不是空的啦。
于是if
那一段就被删掉啦。
愉快的段错误。
来自CsOH学长张瑯小强
http://www.cnblogs.com/CsOH/p/6019868.html
void contains_null_check(int *P) {
int dead = *P;
if (P == NULL)
return;
*P = 4;
}
编译器想,*P
前面解引用啦,那它肯定不是空的啦。
于是if
那一段就被删掉啦。
愉快的段错误。