Когда мы компилируем проект C / C ++, некоторые файлы и коды в исходном коде проекта не нужны для компиляции.Например, тестовая папка (некоторые тестовые скрипты), папка примеров и мертвый код.Как я могу распознать эти исходные файлы, которые не скомпилированы в двоичные файлы?Не стоит надеяться, что компиляция необходима.Потому что мне нужно обрабатывать многие проекты автоматически, и очень сложно скомпилировать все проекты без ручных операций.
Я знаю, что компиляция может автоматически удалить мертвый код, но в моей ситуации я не могу скомпилировать весь проект, и вИсходный код, есть много других кодов, которые не участвуют в окончательной компиляции, таких как код в тестовой папке, папке инструментов ... Я надеюсь обнаружить этот код, что касается мертвого кода, я знаю, что его трудно обнаружить статическим анализом,так что не обращайте на это внимания, просто позаботьтесь о целых файлах и целых папках, которые не скомпилированы.
Почему я хочу это сделать?Я хочу извлечь некоторые функции (строки, график вызовов функций, int-константы ...), чтобы представить этот проект, и сравнить эти функции с теми же функциями, извлеченными из двоичных файлов, чтобы увидеть, какие есть различия.Итак, если я извлекаю функции из кода в тестовой папке, и код не компилируется в окончательных двоичных файлах.При сравнении этих функций будет большая ошибка.