очистка кода — удаление ненужных файлов, включений, глобальных переменных и функций в переполнении стека

Я изменил огромный проект C ++ с большим количеством файлов и функций. Проблема в том, что сейчас существует множество бесполезных файлов, включений, глобальных переменных и функций. Удалить их вручную было бы больно. Есть ли инструмент, который анализирует код, как это делает компилятор, и удаляет все неиспользуемые вещи? Я бы предпочел инструмент для Unix. Также поможет способ удалить только один или несколько из упомянутых выше бесполезных компонентов.

4

Решение

Существует несколько возможностей самого инструментария GNU для оптимизации размера кода, если вы не возражаете, что компоновщик делает это каждый раз, когда вы собираете свою систему. И в С ++ всегда возникает вопрос, что же такое «неиспользуемый код» (поскольку работа с указателями и приведением может ввести в заблуждение любой инструмент).

Таким образом, ваш лучший выбор для этого Золотой линкер (Замена ld на золото — есть опыт?) и следующие опции:

«Большим» подходом были бы статические анализаторы кода / инструменты рефакторинга кода (Как я могу узнать, какие части в коде никогда не используются?), а затем некоторые библиотеки, такие как Boost, идут с их собственные инструменты уменьшить количество файлов.

2

Другие решения


По вопросам рекламы [email protected]