"); //-->
1,为什么容易忽略编译器的警告信息?
1)编程时处理各种error已经很让人恼火的了,error自然被放在次要位置;
2)绝大多数下,程序在存在warnings的情况下,在短期内可以正常运行,我们根本看不到错误,导致warning近一步被轻视;
3)没有养成好的工作习惯,带有warning的代码是不能交付的,而我们判断交付的标准中往往没有对代码提出更为细致的要求。
2,忽视编译警告往往会给我们造成重大损失
最近的一个项目中,我的程序在实验室测试了1个星期没有出现问题。当设备部署到现场3天后,坏事情终于发生了:设备依次出现死机问题。
再从头分析代码, 百思不得其解,痛不欲生的时候注意到了一个编译警告,说一个表达式一直为真。原来发生了下面的错误:
unsigned char i;
for( i = 0; i < 1000; i++) {.....}
变量类型的定义导致了表达式一直为真。为什么开始的测试中不会出现问题哪?原来,这段代码是必须程序运行一段时间后才会执行的一段代码,在短时间的测试中根本不会进入。
看来编程真不能偷懒,偷懒必遭惩罚,你还要费比当时偷懒省的劲多好多倍的劲来弥补,并且这个弥补的过程中你还要承受巨大的压力。跟平时多流汗战时少流血的道理一样的。
3)解决办法
给自己的编程增加一个规则,带有编译警告的代码不能交付。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
AD1674与PC总线的接口电路
集成电路发明历程
初学单片机几个不易掌握的概念
一个农村大学生的尴尬<---看完后都不知道说什么好了!!
全球华人大签名反对日本成为安理会常任理事国
英伟达GTC大会关键亮点看过来
奥迪宣布在德裁员约 7500 人,失业潮吹向一线豪华
较劲英伟达 AMD消费型产品急起直追
高性能 C64+ DSP 上 TCP2/VCP2 协处理器的应用
集成隔离式 CAN 收发器 - ISO1050
windml问题,急
常用红外遥控编码资料集
A/D转换器5G14433与微处理机的通用接口电路
英特尔新官上任三把火!CEO计划重组代工、AI业务并裁员 重回“世界级代工厂”
开关电源基础介绍之 DC/DC 变换器
ICL7135(或5G7135)与8031的接口电路
充分利用80C51系列MCU的5个外部中断
52.99万到底值不值!小米SU7 Ultra全网首拆:雷军确实下本了
A/D转换器5G14433与微处理机的接口电路
DeepSeek技术路线如何改写AI烧钱游戏规则
基于TI MSPM0G3507多功能GPS测速仪系统开发设计
tornado 生成的bootrom 几种文件有什么区别
尼得科仪器发售AC伺服“S-FLAG DYNAMIC MOTION TM”MB系列电机
高性能 DSP 上的串行 RapidIO 接口
美媒:从巴西到南非,物美价廉中国车一路狂飙
TDK推出edgeRX:工业机器健康监测的未来
常用PIC系列单片机速查表
MAX187/189与8031的接口电路
长常用ARM指令及汇编
[灌水]做美女还是做才女?