编写C 为什么把警告也要当成错误?
编写C 为什么把警告也要当成错误?
答案或建议:
在回答问题前,先谈一下错误。错误分2种,一种是你所说的,称为编译期错误,另一种称为运行期错误。编译期错误是编译的时候由编译器指出的,而运行期错误很多情况下需要通过测试来发现。
下面回到你的问题,C语言编译的时候所产生的警告有很多会直接或间接导致运行期错误,使程序运行时进入你预期之外的分支,或者得到你预期之外的结果。举个例子
int a,*b;
b = (int*)malloc(a);
这样的2句语句并不会有编译错误,编译器只是会出个警告,说a变量在使用前没有初始化。但是,所造成的结果是你无法预计b指向的内存块到底有多大,这很可能使你的程序发生下标越界或者其他意想不到的错误。
文章转载请保留:http://www.baikewenda.com/tech/dev/7/4/a112008539.htm
本站更多内容:
» 对方发了数次邮件都已成功发出,我为什么仍然收不到?
» 怎么将文档在另外一台电脑中打印出来?
» “我的文档”跑到“我的电脑”里,怎么也删除不掉
» 什么叫博克?
» 怎样发短信让对方不见我的号码
» 用信纸打印东西?
» QQ宠物中粉钻的自助餐厅多久可以去一次啊?
» 快速启动栏图标在任务栏的右下角,怎样移到左下角去?
» U盘和手机内存卡做成启动盘后如何恢复原样
» 光盘式DV怎样播放拍摄的影片
» iPhone普通方法删不了的程序要怎么删除?
» iPad上同步进去的pdf文件保存在那个文件夹下?
» ipod touch死机怎么办?
» iphone如何更改闹钟里snooze的时间长短
» wm6.5系统怎么手动换字体?
» 接听电话死机的解决办法有什么?
» 怎么将文档在另外一台电脑中打印出来?
» “我的文档”跑到“我的电脑”里,怎么也删除不掉
» 什么叫博克?
» 怎样发短信让对方不见我的号码
» 用信纸打印东西?
» QQ宠物中粉钻的自助餐厅多久可以去一次啊?
» 快速启动栏图标在任务栏的右下角,怎样移到左下角去?
» U盘和手机内存卡做成启动盘后如何恢复原样
» 光盘式DV怎样播放拍摄的影片
» iPhone普通方法删不了的程序要怎么删除?
» iPad上同步进去的pdf文件保存在那个文件夹下?
» ipod touch死机怎么办?
» iphone如何更改闹钟里snooze的时间长短
» wm6.5系统怎么手动换字体?
» 接听电话死机的解决办法有什么?