GCC对数组越界的处理

    gcc-4.1对数组越界并无进行干涉,当数组越界发生时,会出现segmentation fault错误,然而gcc-4.3.2之后对数组越界进行了优化,譬如:定义了数组tmp[100],当越界操做出现后,访问会被限制在数组边界上,即访问tmp[102]会最终限制为tmp[99],不会真正发生越界。数组

    所以在编写可移植代码时必定要注意数组越界问题的规避,尽可能不要编写带有越界错误的代码,由于较高版本gcc编译出的程序,运行时不会产生错误,然而相同的代码使用较低版本gcc编译,运行便会出现段错误,这个问题会容易让人一头雾水,须要花时间仔细追查代码。ide

    所以好的编码习惯很是重要,要尽可能避免数组越界。优化

相关文章
相关标签/搜索