Я использую сторонний кроссплатформенный конструктор проектов, который использует различные компиляторы.
Этот конструктор проектов всегда полностью перестраивает проект, и я пытаюсь реализовать механизм «умного перестроения».
Я думал о запуске препроцессора на каждом .cpp, проверяем результат и сравниваем его с CRC предыдущей сборки. Если они различаются, я отмечу .cpp для компиляции. Если нет, я буду использовать предыдущий объектный файл.
Достаточно ли безопасен этот метод? Вполне вероятно, что я получу тот же CRC, когда код / заголовки будут изменены? Существует ли определенный алгоритм CRC, который может сделать его более безопасным?