前几天查了一个问题,查了很长时间才查出来,发现是strcmp在和比较的时候出错了,程序直接挂掉了,也没见有什么提示,最后发现是因为传入的一个值是个NULL指针。而且并不是每次比较都挂掉,而是和空值比较了几次之后才挂掉,比较奇怪。
深层次的原因还未查到,这里先记录下(听说在AIX下strcmp传入NULL指针也会挂掉,不过这里未实践过)。
环境是 gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
2014-07-08 可能是因为从ox0地址读内容和目的地址比较时,如果ox0地址和目的地址碰巧相同,之后向后面的地址读,然后因为目标地址不可读最后失败退出