首页
社区
课程
招聘
所以弄明白自己程序的局限有多么重要---兼谈IE6的一个缺陷
2006-9-8 23:16 4004

所以弄明白自己程序的局限有多么重要---兼谈IE6的一个缺陷

2006-9-8 23:16
4004
编程时很多人,包括我自己,不太注意标注程序的要求和局限性,结果就很容易出错。

这里是刚刚发现的微软的一个问题。在笑话别人的同时,也请问问我们自己:我写程序的时候,会不会也犯同样低级的错误?

去网上下载一个巨大的文件,比如微软的Vista RC1,网址是

http://download.windowsvista.com/preview/rc1/en/download.htm

在“To use your browser”下,选择32或64位的链接。

在下载2.5GB的ISO文件的时候,注意看窗口的标题栏,看到了什么?对了,一个负的百分数,从-1%到负好几百,然后又变成正的好几百,在慢慢递减到接近100%的时候,又变成99%,直到下载结束。至于下面表示进展的progress bar,则完全无用,一会子全满,一会子又是空的,根本就不对。

在XP和2003上都一样,只要你用的是IE6,低版本的就更不用说了。

原因?我估计是程序里用的是带符号的signed INT32,最大值只有0x7FFF FFFF,就是2.2G多一点,所以在下载更大的文件的时候,整数溢出(integer overflow),当然程序里还有一些其它的奇怪的逻辑,我们就不得而知了。

很简单的一件事儿,结果上亿人用的一个软件都会犯这样低级的错误;所以下次你看到我写的程序里有臭虫,就省点儿力气,别拍砖头了。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (4)
雪    币: 139
活跃值: (111)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bookworm 3 2006-9-8 23:17
2
0
没法贴图片
雪    币: 32410
活跃值: (18735)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 8 2006-9-8 23:24
3
0
最初由 bookworm 发布
没法贴图片


帖图方法见这个,要将图片传上来:
http://bbs.pediy.com/showthread.php?s=&postid=142837
雪    币: 139
活跃值: (111)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bookworm 3 2006-9-8 23:30
4
0
解决了
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
北极星2003 25 2006-9-9 17:02
5
0
还真从没下过这么大的文件
游客
登录 | 注册 方可回帖
返回