b***i 发帖数: 3043 | 1 [转自水木清华]
昨天Microsoft 30GB Zune都停止工作了,很轰动
经过调查是freescale firmware的一个很土的代码BUG:
year = ORIGINYEAR; /* = 1980 */
while (days > 365)
{
if (IsLeapYear(year))
{
if (days > 366)
{
days -= 366;
year += 1;
}
}
else
{
days -= 365;
year += 1;
}
}
这段代码根据连续计数的days推算出哪一年和哪一天
仔细分析一下可以看到当闰年的最后一天,会死循环!!! |
t****t 发帖数: 6806 | 2 靠, 够土的
【在 b***i 的大作中提到】 : [转自水木清华] : 昨天Microsoft 30GB Zune都停止工作了,很轰动 : 经过调查是freescale firmware的一个很土的代码BUG: : year = ORIGINYEAR; /* = 1980 */ : while (days > 365) : { : if (IsLeapYear(year)) : { : if (days > 366) : {
|
r*******y 发帖数: 290 | 3 really?
【在 b***i 的大作中提到】 : [转自水木清华] : 昨天Microsoft 30GB Zune都停止工作了,很轰动 : 经过调查是freescale firmware的一个很土的代码BUG: : year = ORIGINYEAR; /* = 1980 */ : while (days > 365) : { : if (IsLeapYear(year)) : { : if (days > 366) : {
|
C*******l 发帖数: 105 | 4
~~~~~~~~~~~ >=
【在 b***i 的大作中提到】 : [转自水木清华] : 昨天Microsoft 30GB Zune都停止工作了,很轰动 : 经过调查是freescale firmware的一个很土的代码BUG: : year = ORIGINYEAR; /* = 1980 */ : while (days > 365) : { : if (IsLeapYear(year)) : { : if (days > 366) : {
|
t****t 发帖数: 6806 | 5 你越改越错了
【在 C*******l 的大作中提到】 : : ~~~~~~~~~~~ >=
|