Illegal instruction错误的定位---忽略编译期警告的代价

在原计算机的linux c++程序可以正确跑起来,但是换了一台机器运行时出现致命错误,程序直接当掉,错误提示如下:

Illegal instruction (core dumped)

造成改错的主要原因是,我们来先看下编译的提示,警告如下:

/home/xxx/src/aa.cpp:621:1: warning: 
      control reaches end of non-void function [-Wreturn-type]
}
^

仔细审查代码发现,函数少了返回值,疼的很,居然编译还通过,只是警告而已。

这告诉了我们一个重要事实:编译期的警告是非常重要的!

 

参考资料

[1]. 一个低级Illegal instruction错误的定位--忽略编译期警告就得加倍偿还

posted @ 2016-12-02 00:15  horsetail  阅读(4202)  评论(0编辑  收藏  举报