不要忽略编译器的warning哦

今天上班给服务器加功能的时候遇到灵异事件,用Debug版本工作正常,一到Release版本上就不正常了,有时候好,有时候坏。一时让我疑惑不已,大呼见鬼。后来折腾了半天发现是一个函数的问题。这个函数的返回值是bool,但是这个函数我给漏了显式的返回值(return false/true),Debug版编译器帮我们做了一些事情,在这种情况下这个函数总是返回false,刚好我测试的时候正是需要这个函数返回false的情况,程序运行便一切正常。但是到了release版,这个没有显示返回值的函数,它的返回值就变得不确定了,有时候是true有时候是false,于是就发生了我上面说的灵异事件,测试环境下程序时好时坏。其实编译器早都给除了warning只是一般情况下只有error才会引起我的注意,而warning不能阻止程序的正常编译,就被我忽略了,好在只是一个简单的模块,查bug较为容易,要是一个非常复杂的系统那真是叫天天不应,叫地地不灵了!经过这次事情我深深的体会到了编译器的warning是不能忽略的!

ps:很久没写博客,主要因为前一段忙于毕业论文与毕业设计,现在有空了会陆续补回来。

Comments

Popular posts from this blog

socket close shutdown函数区别

批量在文件头插入

hash表取模技巧