GCC對數組越界的處理

    gcc-4.1對數組越界並無進行干涉,當數組越界發生時,會出現segmentation fault錯誤,然而gcc-4.3.2之後對數組越界進行了優化,譬如:定義了數組tmp[100],當越界操做出現後,訪問會被限制在數組邊界上,即訪問tmp[102]會最終限制爲tmp[99],不會真正發生越界。數組

    所以在編寫可移植代碼時必定要注意數組越界問題的規避,儘可能不要編寫帶有越界錯誤的代碼,由於較高版本gcc編譯出的程序,運行時不會產生錯誤,然而相同的代碼使用較低版本gcc編譯,運行便會出現段錯誤,這個問題會容易讓人一頭霧水,須要花時間仔細追查代碼。ide

    所以好的編碼習慣很是重要,要儘可能避免數組越界。優化

相關文章
相關標籤/搜索