У нас есть некоторые системы сборки в производстве, о которых никто не заботится, и эти машины используют древние версии GCC, такие как GCC 3 или GCC 2.
И я не могу убедить руководство обновить его до более позднего: они говорят: "Если не сломано, не исправляйте".
Поскольку мы сохраняем очень старую базу кода (написанную в 80-х годах), этот код C89 компилируется на этих компиляторах очень хорошо.
Но я не уверен, что это хорошая идея использовать эти старые вещи.
Мой вопрос:
Может ли старый компилятор C скомпрометировать безопасность скомпилированной программы?
UPDATE:
Тот же код создается объектами Visual Studio 2008 для Windows, а MSVC еще не поддерживает C99 или C11 (я не знаю, работает ли новый MSVC), и я могу создать его на своем ящике Linux, используя последние GCC. Поэтому, если мы просто запустим новый GCC, он, вероятно, будет построен так же хорошо, как раньше.