专注于技术 心无旁骛 - justforfan528

Linux技术| 网络编程coding | 网络安全Cyber Security | study |

 

导航

不同linux 及gcc 版本下程序编译问题

Unix或linux不同版本之间的差别较大,编译环境也各不相同,要想编写的c程序便于移植,需要严格遵守c语言标准(),尽量在较低的编译器版本下调试程序。
比较典型的例子是:

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

posted on 2007-10-07 16:11  游荡者  阅读(1155)  评论(1编辑  收藏  举报