比较典型的例子是:
我写过一个简单的c程序,在gcc 4.1,gcc 3.2下编译运行均没有问题。但在redhat7.1 / gcc 2.96下编译就报语法错误。
最后发现是因为:老版本的gcc要求c程序中变量的定义必须放在程序段的开始,对于中间定义的变量无法识别,实际上这个也是c语言的一个比较严格的要求,不过由于后来的编译器都允许在中间定义的变量,所以以前从来没有注意到这个问题。
我写过一个简单的c程序,在gcc 4.1,gcc 3.2下编译运行均没有问题。但在redhat7.1 / gcc 2.96下编译就报语法错误。
最后发现是因为:老版本的gcc要求c程序中变量的定义必须放在程序段的开始,对于中间定义的变量无法识别,实际上这个也是c语言的一个比较严格的要求,不过由于后来的编译器都允许在中间定义的变量,所以以前从来没有注意到这个问题。
转载于:https://www.cnblogs.com/justforfan528/articles/916112.html