我在大型代码库(数百个文件和数十万行代码)上工作。我们遇到了一个问题,即宏中散布着需要成为运行时参数的整个代码库。我希望能够创建一个报告,该报告将描述在何处以及使用了哪些文件宏。我希望它仅查看一部分文件,然后按子目录分解报告。
是否有一个已经可用的工具可以执行此操作,或者是否可以通过一种简单的方式编写诸如此类的脚本?宏的数量使此任务变得不容易。我通常只在IDE中使用find用法,但是我要查找超过5000个唯一宏。大多数都不应该找到。这是定义它们的主文件,但可能还有更多我想捕获的其他定义。
在我开始实施某些东西之前,我认为我会联系社区。我目前的想法是:
Shell脚本,它将遍历所有宏并遍历树,然后放入文件中,然后我可以分解/创建一个脚本以将其转换为漂亮的报告(这样做的缺点是它将无法捕获该文件中未定义但我可能想捕获的任何宏) 上面要做的Python脚本(与上面一样) Clang脚本(这似乎是最好的选择,但似乎有很多开销)我从未做过任何Clang脚本编写,而且看来我需要下载并构建Clang才能启动。 (可能是最好的解决方案) 预先感谢!