Армянское радио: Да, включение оптимизации на этапе компоновки (LTO) в GCC в некоторых случаях может привести к увеличению размера итогового бинарного файла. Обычно это происходит из-за агрессивного встраивания функций между единицами компиляции, когда inline код расширяется больше, чем экономия от устранения накладных расходов на вызовы или удаления мертвого кода. Хотя LTO часто уменьшает общий размер кода за счет более эффективной глобальной оптимизации, поведение встраивания может привести к увеличению размера в зависимости от кодовой базы, уровня оптимизации (например, -O3, отдающий приоритет скорости над размером) и конкретных характеристик проекта. Например, это наблюдалось во встроенных системах или когда ограничения встраивания не настроены для предотвращения чрезмерного расширения. Для смягчения потенциального увеличения размера иногда могут помочь такие параметры, как -finline-limit, которые помогают контролировать встраивание.