MSVC один cpp-файл никогда не завершает компиляцию

#visual-c #compiler-optimization

Вопрос:

В проекте есть один cpp-файл, который, при включенной оптимизации, еще не закончил компиляцию для меня примерно через 20 минут. Я сузил его до какой-то части в иерархии включения, но причина этого все еще не совсем ясна. Есть ли где-нибудь в компиляторе параметр, который мог бы помочь мне сузить круг функций, компиляция которых занимает так много времени? Я попытался настроить детализацию файла журнала сборки проекта MSBuild на диагностику, но, к сожалению, это приводит к тому, что у компилятора заканчивается память и он завершается через несколько секунд.

Комментарии:

1. Заставить его взорваться даже при изменении многословия MSBuild-это сильный намек на то, что вам нужно купить другую машину.

2. Вряд ли. Ryzen 3900x 12-ядерный процессор. 64 ГБ оперативной памяти, и это происходит со всеми остальными в моей команде. Это, безусловно, проблема компилятора. Я не собираюсь исправлять это сам, но я хотел бы обойти это, изменив код. Просто нужно выяснить, какой код нужно изменить в первую очередь.

3. Вы пробовали компилировать с помощью ‘/showIncludes’? Также попробуйте повысить уровень предупреждений, дополнительные предупреждения могут дать вам подсказки