首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 小心'溢出'陷阱
【标  题】:小心'溢出'陷阱
【关键字】:
【来  源】:http://blog.csdn.net/bigwhite20xx/archive/2006/09/06/1186596.aspx

小心'溢出'陷阱

 

这几天以前曾经做过的一个项目上线测试了,果不其然,没有经过'战争洗礼'的产品就是靠不住,这不出了若干问题。害得我逃了半天课远程支持。

其中的一个问题很值得思考。其所在的模块并非是一个核心功能模块,而是一个提高系统Availability的一个功能模块,主要功能就是监视磁盘占用率。我们通过配置给出允许使用的磁盘空间大小(以M Byte为单位),以及两个阈值,即当占用率达到多少的时候,Do A;达到多少的时候Do B。

我们假设用变量quota代表配置中读取的配额数值,而total代表实际检测到的占用数值,一般关于文件大小的系统调用都是用byte作为单位的,也就是说我们需要做一个转换,假设换算后的变量为quota1。由于最初我们没有考虑周全的原因,我们使用unsigned int作为quota、quota1和total的存储类型。结果在家里没有做过认真的测试,导致一到现场就'露馅'了。这个问题反应到家里后,一个同事发现了这一问题,并作了修改,经过简单的测试,好像表面上问题消失了。再一次提交到现场后,问题依旧。

全文链接:http://bigwhite.blogbus.com/logs/2006/09/3249651.html

一个人的战争(3) : 我眼中的异步与非阻塞:【上一篇】
VC 关键字:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • Fireworks创意遮罩动画制作
  • HP570G2+msa1000+windows2kads+ORACLE8I 做双机热备
  • 必杀:智能ABC竟成应用程序杀手
  • FortiOS 3.0 部分网站及MSN无法登陆解决方法(原)
  • 一个急需要解决的问题
  • ReferenceEquals, == , Equals 比较
  • linux环境下的"蚂蚁"-wget使用简介
  • C#取得汉字的拼音的首字母
  • GNU/Emacs
  • sql 性能--翻动100万级的数据
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.