我们的团队被分配审查和折射一些大而复杂的产品。当前的repo有很多未使用的文件。我们需要确定使用哪些文件以及哪些文件不使用。
是否有一种简单的方法可以获取构建系统(make)使用的所有源文件和头文件来编译产品?
答案 0 :(得分:1)
如果您引用.C和.CPP文件的来源,则应验证您的构建系统是否生成了地图文件。您可以使用正则表达式解析映射文件以查找所有.o文件。这将为您提供所有源文件的名称。
可以使用#include行的grep找到头文件。
编辑:
GCC可以使用-M
或-MM
选项输出依赖项。您可以解析这些文件。如果您的makefile调用GCC,您可以更改CFLAGS以创建这些文件。如果其他编译器提供此功能,则取决于编译器。
答案 1 :(得分:0)
尝试向编译器添加依赖关系生成参数。 G ++有一组-M *选项,允许您以Makefile格式生成每个文件的依赖项。我没有太多使用它,所以我不会告诉你你应该做什么,但也许-MP
对你的问题看起来很有希望......
只需使用.ddd之类的花哨扩展名保存这些依赖项文件,然后编写脚本以在某处累积它们。