Скрипт статического анализа для отчета об использовании макроса - PullRequest
0 голосов
/ 30 мая 2019

Я работаю с большой кодовой базой (сотни файлов и сотни тысяч строк кода). Мы сталкиваемся с проблемой, из-за которой в нашей кодовой базе скопились макросы, которые должны стать параметрами времени выполнения. Я надеялся создать отчет, в котором будет описано, где и какие файлы используются макросами. Мне бы хотелось, чтобы он только просматривал подмножество файлов и разбивал отчет по подкаталогам.

Есть ли уже доступный инструмент, который сможет это сделать, или простой способ написать что-то подобное? Количество макросов делает эту задачу нетривиальной. Обычно я просто использую find find в моей IDE, но есть более 5000 уникальных макросов, которые я хочу найти. Большинство из них не должно быть найдено. Это основной файл, в котором они определены, но, возможно, есть и другие, где я также хотел бы их записать.

До того, как я начал что-то реализовывать, я решил обратиться к сообществу. Мои текущие идеи:

Сценарий оболочки, который будет перебирать все макросы и проходить через дерево, а затем помещать в файлы, которые я затем смогу разбить / создать сценарий для преобразования в хороший отчет (Недостатком этого является то, что он не будет захватывать любые макросы, не определенные в этом файле, но которые я потенциально хотел бы записать) Сценарий Python для выполнения выше (проблема та же, что и выше) Скрипт Clang (кажется, это лучший вариант, но это выглядело слишком дорого). Я никогда не делал скриптов для Clang, и мне кажется, что мне нужно было бы загрузить и собрать Clang, чтобы даже начать. (Может быть лучшим решением) Заранее спасибо!

...