在原計算機的linux c++程序可以正確跑起來,但是換了一台機器運行時出現致命錯誤,程序直接當掉,錯誤提示如下:
Illegal instruction (core dumped)
造成改錯的主要原因是,我們來先看下編譯的提示,警告如下:
/home/xxx/src/aa.cpp:621:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
仔細審查代碼發現,函數少了返回值,疼的很,居然編譯還通過,只是警告而已。
這告訴了我們一個重要事實:編譯期的警告是非常重要的!
參考資料
