我们在生产中有一些没有人关心的构建系统,这些机器运行 GCC 的古老版本,如 GCC 3或 GCC 2。
我无法说服管理层把它升级到更新的版本: 他们说,“如果没有坏,就不要修理它”。
由于我们维护一个非常古老的代码库(编写于80年代) ,这个 C89代码在这些编译器上编译得很好。
但我不确定用这些旧东西是个好主意。
我的问题是:
使用旧的 C 编译器会损害已编译程序的安全性吗?
更新:
同样的代码是 Visual Studio 2008为 Windows 目标编写的,MSVC 还不支持 C99或 C11(我不知道新的 MSVC 是否支持) ,我可以使用最新的 GCC 在我的 Linux 机器上编写它。因此,如果我们只是降低一个新的海湾合作委员会,它可能会建立一样好,因为以前。