我们在生产中有一些无人关心的构建系统,这些机器运行GCC的古老版本,比如GCC 3或GCC 2.
我也无法说服管理层将其升级到最近的版本:他们说,"如果没有坏掉,就不要修复它".
由于我们维护了一个非常古老的代码库(写于80年代),所以这段C89代码在这些编译器上编译得很好.
但是我不确定用这些旧东西是不是个好主意.
我的问题是:
使用旧的C编译器会损害编译程序的安全性吗?
更新:
同样的代码也是由Visual Studio2008 for Windows target构建的,而msvc目前还不支持C99或C11(我不知道更新的msvc是否支持),我可以使用最新的GCC在我的linux机器上构建它.所以,如果我们换一辆新的GCC,它可能会造得和以前一样好.